[英]Python get date of the last Sunday from a datetime input
我有一个纪元时间戳,并从中创建了一个日期时间:
import datetime
epoch = 1614965596103
dt = datetime.datetime.utcfromtimestamp(epoch/1000)
我想获得上周日的日期。
但是,如果日期时间 object 代表星期天,我想返回相同的日期。
实现这一目标的最简单方法是什么?
受此启发:
idx = (dt.weekday() + 1) % 7
sun = dt - datetime.timedelta(days=idx)
你可以使用timedelta
import datetime
from datetime import timedelta
epoch = 1614965596103
dt = datetime.datetime.utcfromtimestamp(epoch/1000)
if dt.weekday() != 6:
deltadays = 6 - dt.weekday()
dt += timedelta(weeks=-1, days=deltadays)
print(dt)
如果是星期天, dt
将保持当前日期,否则它将成为上一个星期日。
将其包装成 function:
import datetime
from datetime import timedelta
def sundayGetter(epoch):
dt = datetime.datetime.utcfromtimestamp(epoch/1000)
if dt.weekday() != 6:
deltadays = 6 - dt.weekday()
dt += timedelta(weeks=-1, days=deltadays)
return dt
print(sundayGetter(1614454173000)) #Sat 27 Feb 2021
Output:
2021-02-21 19:29:33
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.