我正面临一个非常奇怪的问题。我有一个月的某一天的UTC时间戳,我需要找到月初和月底的UTC时间戳。你知道吗
例如,如果时间戳=1435791600(2015年1月7日晚上11点) 我需要时间戳2015年1月1日上午12点和1月31日下午11点59分。你知道吗
问题是,当我使用datetime计算一个月的第一天和最后一天,然后尝试从新值中检索时间戳时,时间戳将以本地时间返回。你知道吗
这是我的密码:
gb_timestamp = 1441065600000
print '------'
timestamp = datetime.datetime.utcfromtimestamp(gb_timestamp/1000.0)
print timestamp
print int(timestamp.strftime("%s")) * 1000
tsMonthStart = timestamp.replace(day=1).replace(hour=0).replace(minute=0).replace(second=0).replace(microsecond=0)
tsMonthEnd = timestamp.replace(hour=23).replace(minute=59).replace(second=59).replace(microsecond=999999)
mlist = [1,3,5,7,8,10,12]
if tsMonthEnd.month in mlist:
tsMonthEnd = tsMonthEnd.replace(day=31)
elif (tsMonthEnd.month == 2) and (tsMonthEnd.year%4 !=0):
tsMonthEnd = tsMonthEnd.replace(day=28)
elif (tsMonthEnd.month == 2) and (tsMonthEnd.year%4 ==0):
tsMonthEnd = tsMonthEnd.replace(day=29)
else:
tsMonthEnd = tsMonthEnd.replace(day=30)
print tsMonthStart
print tsMonthEnd
第一个print语句将时间更改为1441080000000。输出:
----------------
1441080000000
有人能帮忙吗。我应该如何解决这个问题。提前谢谢。你知道吗
这不是将
datetime
转换回unix时间戳的方式。用这样的方法:答案here解释了为什么
strftime('%s')
对datetime
对象无效。你知道吗相关问题 更多 >
编程相关推荐