python 获取当天凌晨零点的时间戳

突然发现很多人关注这个用法,很抱歉由于需求导致没有考虑这么周全。

其实有很多方式获取零点的时间戳,以下给几个例子吧,推荐使用方法3也就是之前的方法2

# -*- coding:utf-8 -*-
import time,datetime

#第一种, 也是下面一位同学写的 (不推荐, 不应对外暴露时区处理)
now_time = int(time.time())
day_time = now_time - (now_time- time.timezone)%86400
print "第一种:", day_time

#第二种 (过长的格式化,优点是逻辑简单)
day_time = int(time.mktime(time.strptime(time.strftime("%Y-%m-%d", time.localtime(now_time)), "%Y-%m-%d")))
print "第二种:", day_time

#第二种变种
#这是下面一位同学写的,只是获取当日零点的日期,不太符合本主题,不过适当修改下还是可以用的
day_str = datetime.datetime.strptime(datetime.datetime.now().strftime("%Y-%m-%d"), "%Y-%m-%d")
#适当修改一下
day_time = int(time.mktime(time.strptime(datetime.datetime.now().strftime("%Y-%m-%d"), "%Y-%m-%d")))
print "第二种变种,输出日期:", day_str, " 输出时间戳:", day_time

#第三种 (推荐, 简洁)
day_time=int(time.mktime(datetime.date.today().timetuple()))
print "第三种:", day_time

测试输出如下:

[root@xxxxxxxxxxxxxxxxx ~]# date -s "2019-11-21"
2019年 11月 21日 星期四 00:00:00 CST
[root@xxxxxxxxxxxxxxxxx ~]# date && python test1.py
2019年 11月 21日 星期四 00:00:12 CST
第一种: 1574265600
第二种: 1574265600
第二种变种,输出日期: 2019-11-21 00:00:00  输出时间戳: 1574265600
第三种: 1574265600
[root@xxxxxxxxxxxxxxxxx ~]# date -s "08:12:12"
2019年 11月 21日 星期四 08:12:12 CST
[root@xxxxxxxxxxxxxxxxx ~]# date && python test1.py
2019年 11月 21日 星期四 08:12:15 CST
第一种: 1574265600
第二种: 1574265600
第二种变种,输出日期: 2019-11-21 00:00:00  输出时间戳: 1574265600
第三种: 1574265600

 

-----------------------------------

最近写python,遇到了一个问题,需要获取当日凌晨零点的时间戳,网上实在没有找到,自己手写了一个,有点挫

# -*- coding:utf-8 -*-
import time

#第一种,有时区影响,请参考修改后的代码
now_time = int(time.time())
day_time = now_time - now_time % 86400 + time.timezone
day_time_str = time.asctime(time.localtime(day_time))
print day_time
print day_time_str

#第二种,推荐使用
import datetime
today = datetime.date.today()
today_time = int(time.mktime(today.timetuple()))
print today_time

 

输出如下:

 

 

1518105600

Fri Feb  9 00:00:00 2018

1518105600

 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值