簡體   English   中英

如何在python中將日期轉換為字符串?

[英]How can I convert date to string in python?

我正在嘗試使用 str() 以簡單的方式轉換它,但它不起作用。 我怎樣才能做到這一點?

import json
import datetime

def lambda_handler(event, context):
    
    lastUpdate="2020-09-17 03:59:21+00:00"
    now = datetime.datetime.now().replace(tzinfo=datetime.timezone.utc)
    diff = now - lastUpdate
    print("Now:" + str(now) + lastUpdate)

輸出:errorMessage": "不支持的操作數類型 -: 'datetime.datetime' 和 'str'",

獲取UTC時區和字符串格式如下:

from datetime import datetime, timezone

lastUpdate="2020-09-17 03:59:21+00:00"
now2 = datetime.now(timezone.utc).strftime("%Y%m%d  %H:%M:%S")

print("Now:" + str(now2) + lastUpdate)

對於差異,請將字符串解析為兩個日期時間對象並計算天數差異。

now3 = datetime.now(timezone.utc)

day = datetime.strptime(lastUpdate, '%Y-%m-%d %H:%M:%S%z')

print("now3= "+ str(now3))
print("day= " +  str(day))
      
diffs = now3 - day

print('Total difference in minutes: ', str(diffs.days))

print("Now:" + str(now3) +" "+ lastUpdate + "Diff= " + str(diffs.days))

strftime 和 strptime 行為

strftime 和 strptime 格式代碼

from datetime import datetime

lastUpdate = "2020-09-17 03:59:21+00:00"
dt: datetime = datetime.strptime(lastUpdate, "%Y-%m-%d %H:%M:%S%z")
print(repr(dt))
# datetime.datetime(2020, 9, 17, 3, 59, 21, tzinfo=datetime.timezone.utc)

dt_str = dt.strftime("%Y-%m-%d %H:%M:%S")
print(repr(dt_str))
# '2020-09-17 03:59:21'

'now' 的數據類型是 datetime,而 'lastUpdate' 的數據類型是 str,你無法區分不同的數據類型。 首先將 lastUpdate 轉換為日期時間格式。

import json
from datetime import datetime, timezone
from dateutil import parser

def lambda_handler(event, context):
  lastUpdate="2020-09-17 03:59:21+00:00"
  lastUpdate = parser.parse("2020-09-17 03:59:21+00:00")
  now = datetime.now(timezone.utc)
  diff = now - lastUpdate
  print("Now:" + str(now) + str(lastUpdate))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM