1. timestamp 增加减少一个 time delta


df.withColumn("added_hours",col("input_timestamp") + expr("INTERVAL 2 HOURS"))
.withColumn("added_minutes",col("input_timestamp") + expr("INTERVAL 2 minutes"))
.withColumn("added_seconds",col("input_timestamp") + expr("INTERVAL 2 seconds"))
.show(false)
+-----------------------+-----------------------+-----------------------+-----------------------+
|input_timestamp |added_hours |added_minutes |added_seconds |
+-----------------------+-----------------------+-----------------------+-----------------------+
|2019-07-01 12:01:19.101|2019-07-01 14:01:19.101|2019-07-01 12:06:19.101|2019-07-01 12:02:14.101|
|2019-06-24 12:01:19.222|2019-06-24 14:01:19.222|2019-06-24 12:06:19.222|2019-06-24 12:02:14.222|
|2019-11-16 16:44:55.406|2019-11-16 18:44:55.406|2019-11-16 16:49:55.406|2019-11-16 16:45:50.406|
|2019-11-16 16:50:59.406|2019-11-16 18:50:59.406|2019-11-16 16:55:59.406|2019-11-16 16:51:54.406|
+-----------------------+-----------------------+-----------------------+-----------------------+

2. Date增加减少一个 delta

Seq(("06-03-2009"),("07-24-2009")).toDF("date").select(
col("Date"),
add_months(to_date(col("Date"),"MM-dd-yyyy"),3).as("add_months"),
add_months(to_date(col("Date"),"MM-dd-yyyy"),-3).as("add_months2"),
date_add(to_date(col("Date"),"MM-dd-yyyy"),3).as("date_add"),
date_add(to_date(col("Date"),"MM-dd-yyyy"),-3).as("date_add2"),
date_sub(to_date(col("Date"),"MM-dd-yyyy"),3).as("date_sub")
).show()
+----------+----------+-----------+----------+----------+----------+
| Date|add_months|add_months2| date_add| date_add2| date_sub|
+----------+----------+-----------+----------+----------+----------+
|06-03-2009|2009-09-03| 2009-03-03|2009-06-06|2009-05-31|2009-05-31|
|07-24-2009|2009-10-24| 2009-04-24|2009-07-27|2009-07-21|2009-07-21|
+----------+----------+-----------+----------+----------+----------+

ref:

  1. https://sparkbyexamples.com/spark/spark-add-hours-minutes-and-seconds-to-timestamp/ 时间操作
  2. https://sparkbyexamples.com/spark/spark-functions-adding-days-months-year/ 日期操作
 

spark 中时间和日期 操作,怎么找到前几天后几天的更多相关文章

  1. Lua库之时间和日期操作

    Lua库之时间和日期操作 (2010-02-07 18:41:20) 转载▼ os.time() <== 返回当前系统的日历时间os.date() <== 返回本地化的时间字符串,这里是& ...

  2. spark中RDD的转化操作和行动操作

    本文主要是讲解spark里RDD的基础操作.RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据集,什么有向无环图,本文暂时不去展开这些高深概念,在阅读本文时候,大家可以就把RDD当 ...

  3. python中时间、日期、时间戳的转换

    1.简介 在编写代码时,往往涉及时间.日期.时间戳的相互转换. 2.示例 # 引入模块 import time, datetime 2.1 str类型的日期转换为时间戳 # 字符类型的时间 tss1 ...

  4. Android 时间与日期操作类

    获取本地日期与时间 public String getCalendar() { @SuppressLint("SimpleDateFormat") SimpleDateFormat ...

  5. mysql 中时间和日期函数应用

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...

  6. Oracle中时间和日期函数总结

    查看当前日期格式:select * from nls_session_parameters where parameter='NLS_DATE_FORMAT'; 修改日期的格式: alter sess ...

  7. mysql 中 时间和日期函数

    From: http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html 一.MySQL 获得当前日期时间 函数 1.1 获得当前日 ...

  8. Spark中RDD的常用操作(Python)

    弹性分布式数据集(RDD) Spark是以RDD概念为中心运行的.RDD是一个容错的.可以被并行操作的元素集合.创建一个RDD有两个方法:在你的驱动程序中并行化一个已经存在的集合:从外部存储系统中引用 ...

  9. Python时间与日期操作(datetime、time、calendar)

    相关模块 模块 说明 time time是一个仅包含与日期和时间相关的函数和常量的模块,在本模块中定义了C/C++编写的几个类.例如,struct_time类 datetime datetime是一个 ...

  10. java8中的常用日期操作

    java8有很多时间上的新api,在操作时间的时候很好用,这儿算是个备忘录吧,(补充中...) 定位某个时间:of方法 LocalDateTime dateTime = LocalDateTime.o ...

随机推荐

  1. Java集合框架总结图

    Collection 接口的接口(对象集合) ├---List 接口:元素都有索引,可以重复,有序(迭代器顺序). │------├ LinkedList 接口实现类, 双向链表, 查询慢,增删快,效 ...

  2. msgpack的使用

    1.引入包 <!--msgpack依赖--> <dependency> <groupId>org.msgpack</groupId> <artif ...

  3. 分布式事务的概念和解决方案Seate

    引入分布式事务: 在电商系统中,扣减库存与保存订单是在两个服务中存在的,如果扣减库存后订单保存失败了是不会回滚的,这样就会造成数据不一致的情况,这其实就是我们所说的分布式事务的问题,接下来我们来学习分 ...

  4. Happus:给准备离职成为独立开发者的你 5 点建议

    名字:Happus 开发者 / 团队:Regina Dan 平台:iOS, visionOS 请简要介绍下这款产品 Happus 是你追寻幸福健康关系.甚至提高婚姻生活品质的贴心助手.无论是关系维系. ...

  5. 解决方案 | 获取所有的打印输出的图纸尺寸的名称GetCanonicalMediaNames返回为空的原因竟然是官方帮助文件给我带来了误导-CAD VBA

    巨大的坑,该代码来自于acadauto_2014--AutoCAD2014 ActiveX Reference Guide.chm 但是存在一个巨大的bug. '获取所有的打印输出的图纸尺寸的名称 , ...

  6. Tomcat 线程池学习总结

    前提 Tomcat 10.1.x Tomcat线程池介绍 Tomcat线程池,源于JAVA JDK自带线程池.由于JAVA JDK线程池策略,比较适合处理 CPU 密集型任务,但是对于 I/O 密集型 ...

  7. 机器学习:详解是否要使用端到端的深度学习?(Whether to use end-to-end learning?)

    详解是否要使用端到端的深度学习? 假设正在搭建一个机器学习系统,要决定是否使用端对端方法,来看看端到端深度学习的一些优缺点,这样就可以根据一些准则,判断的应用程序是否有希望使用端到端方法. 这里是应用 ...

  8. Jmeter函数助手10-regexFunction

    regexFunction函数用于对上一个请求进行正则表达式提取处理,类似正则表达式. 用于从前一个请求搜索结果的正则表达式:填入正则表达式 Template for the replacement ...

  9. 【Windows】更改Win10字体和Cmd字体

    教程参考: https://www.windowszj.com/news/20837.html Win + R 打开运行窗口 输入 regedit 打开注册表编辑窗口 位置地址: 计算机\HKEY_L ...

  10. 最为期待的国产3D游戏 —— 3A大作 ——《黑神话:悟空》

    地址: https://www.heishenhua.com/