获取当前时间
使用 python
自带的 datetime
或 time
可以实现
import datetime
import time
# 获取时间戳
t = time.time()
# 把时间戳转成元组时间
tup_time = time.localtime(t)
# 格式化输出时间
print(time.strftime("%Y-%m-%d %H:%M:%S", tup_time))
# 获取datetime
d = datetime.datetime.now()
# 格式化输出
print(d.strftime("%Y-%m-%d %H:%M:%S"))
得到结果如下
2021-03-11 11:50:09
2021-03-11 11:50:09
计算昨天和明天,以及第N天
# 使用datetime
# 一天有86400秒
day_second = 86400
# 昨日的时间戳
yesterday_target = t - day_second
# 把计算好的秒转成元组时间
yesterday_target_time = time.localtime(yesterday_target)
# 在进行格式化
print("昨天时间", time.strftime("%Y-%m-%d %H:%M:%S", yesterday_target_time))
# 明天的时间戳
tomorrow_target = t + day_second
# 把计算好的秒转成元组时间
tomorrow_target_time = time.localtime(tomorrow_target)
# 在进行格式化
print("明天时间", time.strftime("%Y-%m-%d %H:%M:%S", tomorrow_target_time))
# 第n天的时间
n = 5
n_target = t + day_second * 5
n_target_time = time.localtime(n_target)
print(f'第{n}天', time.strftime("%Y-%m-%d %H:%M:%S", n_target_time))
# 使用datetime
yesterday = d + datetime.timedelta(days=-1, seconds=0, minutes=0)
print("昨天时间", yesterday.strftime("%Y-%m-%d %H:%M:%S"))
tomorrow = d + datetime.timedelta(days=1, seconds=0, minutes=0)
print("明天时间", tomorrow.strftime("%Y-%m-%d %H:%M:%S"))
n_date = d + datetime.timedelta(days=n, seconds=0, minutes=0)
print(f'第{n}天', n_date.strftime("%Y-%m-%d %H:%M:%S"))
得到以下结果
昨天时间 2021-03-10 12:13:48
明天时间 2021-03-12 12:13:48
第5天 2021-03-16 12:13:48
昨天时间 2021-03-10 12:13:48
明天时间 2021-03-12 12:13:48
第5天 2021-03-16 12:13:48
获取今日开始和结束的时间戳
today = datetime.datetime.today()
today_start = datetime.datetime(year=today.year, month=today.month, day=today.day)
print("今日开始时间戳", today_start.timestamp())
today_end = datetime.datetime(year=today.year, month=today.month, day=today.day, hour=23, minute=59, second=59)
print("今日结束时间戳", today_end.timestamp())
获取本周开始和结束的时间戳
today = datetime.datetime.today()
week_start = datetime.datetime(year=today.year, month=today.month, day=today.day - today.weekday(), hour=23,
minute=59, second=59)
print("本周开始时间戳", week_start.timestamp())
week_end = datetime.datetime(year=today.year, month=today.month, day=today.day + 6 - today.weekday(), hour=23,
minute=59, second=59)
print("本周结束时间戳", week_end.timestamp())
获取本月开始和结束的时间戳
import calendar
today = datetime.datetime.today()
# 获取某年某月的范围
# month_range 第一个值是 第一天是星期几,第二个值是本月天数
month_range = calendar.monthrange(today.year, today.month)
month_start = datetime.datetime(year=today.year, month=today.month, day=1)
print("本月开始时间戳", month_start.timestamp())
month_end = datetime.datetime(year=today.year, month=today.month, day=month_range[1])
print("本月结束时间戳", month_end.timestamp())