【问题标题】:Databricks pySpark datetimeDatabricks pySpark 日期时间
【发布时间】:2020-08-27 06:53:30
【问题描述】:

我不确定为什么我的数据时间会按原样打印。我期待“%Y-%M-%D”的格式(2020-05-11)

import datetime
from pyspark.sql.functions import *

currentdate = datetime.datetime.now().strftime("%Y-%M-%D")
print(dateValue)

Output: 
2020-09-05/11/20

【问题讨论】:

    标签: datetime pyspark databricks


    【解决方案1】:

    尝试使用 %Y-%m-%d 而不是 %Y-%M-%D

    currentdate = datetime.datetime.now().strftime("%Y-%m-%d")    
    print (currentdate)
    #2020-05-11
    
    #or using spark sql
    currentdate=spark.sql("select string(current_date)").collect()[0][0]
    print(currentdate)
    #2020-05-11
    

    【讨论】:

    • ("%Y-%m-%d") 不起作用。输出是一样的。 spark sql 命令有效。但想将其保留在 pySpark 中。另外,知道为什么 pySpark 输出是2020-09-05/11/20
    • @jessgtrz,不知道为什么它没有工作(我已经在 python 2.7 和 3.7 中测试过,它工作)......来自 python 文档。 %Y -> year(yyyy),%M -> minutes of the hour, %m month, %D -> mm/dd/yy, %d -> day of month,所以格式化 %Y-%m-%d 会得到我们当前的日期。你可以使用 pyspark sql 来获取当前日期。
    • 可能是databricks pySpark 问题? @舒
    • currentdate= spark.sql("select string(current_timestamp)").collect()[0][0] print(currentdate) 输出:2020-05-11 19:24:45.476 。我怎样才能让我的输出2020-05-11_19:24:45@Shu
    • @jessgtrz,尝试使用spark.sql("select string(date_format(current_timestamp,'yyyy:MM:dd_HH:mm:ss'))").collect()[0][0] 可能是数据块问题,但不确定..!
    猜你喜欢
    • 2019-01-23
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多