一日一技:如何生成今天0点的时间戳

简介: 一日一技:如何生成今天0点的时间戳

我们知道,要获取现在的时间可以使用Python自带的 datetime来实现:

import datetime
now = datetime.datetime.now()

如果要获得现在这一秒钟的时间戳,可以继续加一行:

import datetime
now = datetime.datetime.now()
ts = now.timestamp()

那么问题来了,如何生成今天0点的时间戳?

可能有人会这样写:

import datetime
now = datetime.datetime.now()
hour = now.hour
minute = now.minute
second = now.second
microsecond = now.microsecond
midnight = now - datetime.timedelta(hours=hour) - datetime.timedelta(minutes=minute) - datetime.timedelta(second=second) - datetime.timedelta(microsecond=microsecond)
midnight_ts = midnight.timestamp()

那么有没有稍微简单一点的办法呢?可能还有一些人会这样写:

import datetime
now = datetime.datetime.now()
midnight_str = now.strftime('%Y-%m-%d 00:00:00')
midnight = datetime.datetime.strptime(midnights_str, '%Y-%m-%d %H:%M:%H')
midnight_ts = midnight.timestamp()

这样写虽然代码少了,但是由于对象转成了字符串又从字符串转成对象,效率降低了。

当然,还可能有人会从now对象里面拿出年月日,然后再通过调用datetime手动生成今天0点datetime对象。。。

方法很多,但是实际上,datetime自带了一个替换时分秒的功能:

import datetime
now = datetime.datetime.now()
midnight = now.replace(hour=0, minute=0, second=0, microsecond=0)
midnight_ts = midnight.timestamp()
目录
相关文章
|
SQL 关系型数据库 数据库
学习分布式事务Seata看这一篇就够了,建议收藏
学习分布式事务Seata看这一篇就够了,建议收藏
17265 2
|
人工智能 自然语言处理 IDE
童心码力—小游戏场景
仅需一句自然语言描述就能快速生成!借助通义灵码强大的 AI 代码理解与生成能力,即使是编程新手也能轻松创作属于自己的小游戏~
|
开发者 Python
Python生成日期和时间
Python生成日期和时间
129 0
|
Python
Pygame AttributeError no attribute ‘display‘问题及其解决方法
Pygame AttributeError no attribute ‘display‘问题及其解决方法
434 4
|
IDE API 开发工具
什么是 pep 8
【8月更文挑战第29天】
1466 4
|
设计模式 移动开发 Java
【阿里规约】阿里开发手册解读——代码格式篇
本文所有代码格式规范遵循《阿里规约》,从编码、换行符、空格规则、括号规则、字符数等方面展开,详细阐述方法参数、强制转换、运算符、缩进等元素的编写规范。
【阿里规约】阿里开发手册解读——代码格式篇
|
机器学习/深度学习 存储 自然语言处理
FunASR
【6月更文挑战第14天】
1846 4
|
索引
String index out of range错误与解决方法
String index out of range错误与解决方法
6063 0
|
安全 Shell 网络安全
如何通过SSH连接云服务器
当你购买云服务器后,你可以通过SSH方式安全的连接到你的云服务器,因为只有你连上云服务器后才能进行服务器相关的配置操作。这里分别介绍了MAC用户和Windows用户如何通过SSH连接云服务器。
2128 1
如何通过SSH连接云服务器