【问题标题】:How to convert excel date long type to timestamp in scala如何将excel日期长类型转换为scala中的时间戳
【发布时间】:2020-12-14 07:47:06
【问题描述】:

第 1 列 = 43784.2892847338

尝试了以下选项

val finalDF=df1.withColumn("Column1 ",expr("""(Column1 -25569) * 86400.0"""))
print(finalDF)

结果:1​​911120001 预期结果应在“YYYY-MM-dd HH:mm:ss.SSS”中

你能帮我解决一下吗?

【问题讨论】:

    标签: scala dataframe apache-spark timestamp databricks


    【解决方案1】:

    如果您使用from_unixtime,那么它不会给您.SSS 毫秒。因此,在这种情况下,最好使用强制转换。

    val df1 = spark.createDataFrame(Seq(("1", 43784.2892847338))).toDF("id", "Column1")
    
    val finalDF = df1.withColumn("Column1_timestamp", expr("""(Column1 -25569) * 86400.0""").cast("timestamp"))
    finalDF.show(false)
    
    +---+----------------+-----------------------+
    |id |Column1         |Column1_timestamp      |
    +---+----------------+-----------------------+
    |1  |43784.2892847338|2019-11-15 06:56:34.201|
    +---+----------------+-----------------------+
    

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 2012-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多