2017-05-30 64 views
0

任何人都可以告訴如何將天數添加到已存在的days.Example:我想添加30天開始日期,我想要打印它。 我正在試圖在Velocity中添加天數

set($pageParameters.wiEndDate = ($pageParameters.wiStartDate+ 30)) 

但它不工作。任何人都可以告訴我有沒有API或如何獲得? 謝謝

回答

0

如果你正在尋找一個DateType字段中添加一個日子裏,你可以使用一個函數org.apache.spark.sql.functions._date_add(column, no of days)

您可以添加一個月。如果你想在現有DateTypeorg.apache.spark.sql.functions._add_months()功能

這裏是一個簡單的例子,可以讓你清楚。

val spark = 
    SparkSession.builder().master("local").appName("test").getOrCreate() 

    import spark.implicits._ 

    val data = spark.sparkContext.parallelize(
    Seq((0, "2016-01-1"), 
     (1, "2016-02-2"), 
     (2, "2016-03-22"), 
     (3, "2016-04-25"), 
     (4, "2016-05-21"), 
     (5, "2016-06-1"), 
     (6, "2016-03-21")) 
).toDF("id", "date") 

    //Cast to date type 
    val data1 = data.withColumn("date", $"date".cast(DateType)) 
    //add 1 month in each row 
    data.withColumn("date", add_months($"date", 1)).show 
    //add 30 days in each row 
    data.withColumn("date", date_add($"date", 30)).show 
+0

謝謝你的回答,但應該自動取日期,它應該增加30天。 –

+0

例如用戶輸入開始日期20-04-2016和結束日期30-06-2016.It應自動添加30天開始日期並顯示輸出爲20-05-2016謝謝 –

+0

我不使用列,我剛剛使用了兩個變量結束日期和開始日期 –