pyspark.sql.functions.dateadd#

pyspark.sql.functions.dateadd(start, days)[source]#

Returns the date that is days days after start. If days is a negative value then these amount of days will be deducted from start.

Added in version 3.5.0.

Parameters:
startColumn or column name

date column to work on. A column that evaluates to a date.

daysColumn or column name or int

how many days after the given date to calculate. Accepts negative value as well to calculate backwards in time. A column that evaluates to an integer, short, or byte.

Returns:
Column

a date after/before given number of days. Returns a column that evaluates to a date.

Examples

>>> import pyspark.sql.functions as sf
>>> df = spark.createDataFrame([('2015-04-08', 2,)], 'struct<dt:string,a:int>')
>>> df.select('*', sf.dateadd(df.dt, 1)).show()
+----------+---+---------------+
|        dt|  a|date_add(dt, 1)|
+----------+---+---------------+
|2015-04-08|  2|     2015-04-09|
+----------+---+---------------+
>>> df.select('*', sf.dateadd('dt', 'a')).show()
+----------+---+---------------+
|        dt|  a|date_add(dt, a)|
+----------+---+---------------+
|2015-04-08|  2|     2015-04-10|
+----------+---+---------------+
>>> df.select('*', sf.dateadd('dt', sf.lit(-1))).show()
+----------+---+----------------+
|        dt|  a|date_add(dt, -1)|
+----------+---+----------------+
|2015-04-08|  2|      2015-04-07|
+----------+---+----------------+