【问题标题】:How to convert strftime or string format to timestamp/Date in python?如何在 python 中将 strftime 或字符串格式转换为时间戳/日期?
【发布时间】:2017-12-30 08:44:06
【问题描述】:

我对 Python 编码非常陌生。我试图获取一个月的开始日期和结束日期,然后将其与同一个 Excel 中的另一个日期列进行比较。

我只需要mm/dd/yy 格式的日期,不需要时间。 final_month_end_date 基本上是一种字符串格式,我将其与实际日期进行比较,但它给了我一个错误提示

"TypeError: 无法将类型 'Timestamp' 与类型 'str' 进行比较"

我也试过.timestamp() 功能但没用。 我该如何解决这个问题?

import datetime as dt
import strftime

now1 = dt.datetime.now()
current_month= now1.month
current_year= now1.year
month_start_date= dt.datetime.today().strftime("%Y/%m/01")
month_end_date= calendar.monthrange(current_year,current_month)[1]
final_month_end_date= dt.datetime.today().strftime("%Y/%m/"+month_end_date)

【问题讨论】:

    标签: python datetime timestamp type-conversion strftime


    【解决方案1】:

    要将字符串转换为 DateTime 对象,请使用 datetime.strptime。获得 datetime 对象后,使用 time.mktime 将其转换为 unix 时间戳。

    import time
    import datetime as dt
    from time import mktime
    from datetime import datetime
    
    now1 = dt.datetime.now()
    current_month= now1.month
    current_year= now1.year
    month_start_date= dt.datetime.today().strftime("%Y/%m/01")
    month_end_date= "30"
    final_month_end_date= dt.datetime.today().strftime("%Y/%m/"+month_end_date)
    
    # Use datetime.strptime to convert from string to datetime
    month_start = datetime.strptime(month_start_date, "%Y/%m/%d")
    month_end = datetime.strptime(final_month_end_date, "%Y/%m/%d")
    
    # Use time.mktime to convert datetime to timestamp
    timestamp_start = time.mktime(month_start.timetuple())
    timestamp_end = time.mktime(month_end.timetuple())
    
    # Let's print the time stamps
    print "Start timestamp: {0}".format(timestamp_start)
    print "End timestamp: {0}".format(timestamp_end)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 2020-09-23
      • 1970-01-01
      相关资源
      最近更新 更多