datetime.date(TimeStamp).replace(day=01) gives an integer is required 错误

datetime.date(TimeStamp).replace(day=01) gives an integer is required error

我的数据库中有一个时间戳列 table(定义为日期时间列) 我尝试将日值设置为该月的第一天。

for (ObservationRawDataId, TimeStamp, TankSystemId, RawDeliveryLitres, ProductName, SiteCode) in cursor:
    print TimeStamp <----2019-06-21 00:00:00

     startdate = datetime.date(TimeStamp).replace(day=01)

但是我收到以下错误;

 an integer is required

我这里哪里做错了?

您需要使用 datetime.strptime 将日期字符串解析为日期对象。您只能在此处使用日期时间对象 startdate.replace(day=1)

from datetime import datetime
startdate = datetime.strptime("2019-06-21 00:00:00","%Y-%m-%d %H:%M:%S").replace(day=1)
print(startdate)

输出:

2019-06-01 00:00:00

查看实际效果 here