代码之家  ›  专栏  ›  技术社区  ›  Sandeep Puppala

如何在python中将strftime或字符串格式转换为时间戳/日期?

  •  1
  • Sandeep Puppala  · 技术社区  · 7 年前

    我对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)
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Carlos Perea    7 年前

    要将字符串转换为DateTime对象,请使用 datetime.strptime time.mktime

    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)