问题:
我想为最后一个日历月生成一个纪元开始和结束时间。
假设今天格林威治标准时间是GMT: Wednesday, June 13, 2018 7:38:21 AM
我需要为日历中的上个月的GMT生成开始时间和结束时间,而不是今天的30天。
这意味着今天纪元1528875278 - 2592000
不正确。
我需要的是这样的东西。
开始:1527964200,结束时间:1528568999 实际上就是
start : Saturday, May 1, 2018 6:30:00 PM
end : Saturday, May 31, 2018 6:29:59 PM
我尝试过的事情:
import time
today_time = int(time.time())
start_time = int(time.time()) - 2592000 +/- some_bias
end_time = int(time.time()) - 2592000 +/- some_bias
有人可以在这里帮助我吗?
答案 0 :(得分:0)
您可以使用此命令获取上个月的第一天:
TZ=GMT date -d "$(date +"%Y-%m-01") -1 month"
并使用它来获取上个月的最后日期:
date -d "$(date +"%Y-%m-01") -1 day"
使用epoch
时间和变量:
startTime=$(TZ=GMT date -d "$(date +"%Y-%m-01") -1 month" '%s')
endTime=$(date -d "$(date +"%Y-%m-01") -1 day" '%s')
答案 1 :(得分:0)
您可以在python 中使用内置datetime
模块(适用于2.X和3.X)。这是一个示例:
import datetime
today = datetime.datetime.now()
end_of_last_month = today.replace(day=1) - datetime.timedelta(days=1)
start_of_last_month = end_of_last_month.replace(day=1)
要转换为时代,您可以在python 3.3+中执行以下操作
start_epoch = int(start_of_last_month.timestamp())
end_epoch = int(end_of_last_month.timestamp())
在早期版本的python中,可以通过以下方式完成:
start_epoch = int(start_of_last_month.strftime('%s'))
end_epoch = int(end_of_last_month.strftime('%s'))