python 獲取當天凌晨零點的時間戳

2021-08-15 13:05:25 字數 2199 閱讀 3764

突然發現很多人關注這個用法,很抱歉由於需求導致沒有考慮這麼周全。

其實有很多方式獲取零點的時間戳,以下給幾個例子吧,推薦使用方法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@***************xx ~]# date -s "2019-11-21"

2023年 11月 21日 星期四 00:00:00 cst

[root@***************xx ~]# date && python test1.py

2023年 11月 21日 星期四 00:00:12 cst

第一種: 1574265600

第二種: 1574265600

第二種變種,輸出日期: 2019-11-21 00:00:00 輸出時間戳: 1574265600

第三種: 1574265600

[root@***************xx ~]# date -s "08:12:12"

2023年 11月 21日 星期四 08:12:12 cst

[root@***************xx ~]# date && python test1.py

2023年 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

輸出如下:

fri feb  9 00:00:00 2018

sql獲取當天零點

sql server 獲取當天零點 select convert varchar 10 getdate 120 00 00 00 oracle 取得當天0時0分0秒 select trunc sysdate from dual 取得當天23時59分59秒 在當天0時0分0秒的基礎上加1天後再減1秒 ...

消失的零點

注 本人於2018 01 07 11 22 19部落格 上午9點多醒來收到一封kettle資料同步失敗的郵件,於是起來準備看下原因,報錯 為 cannot parse 1990 04 15 illegal instant due to time zone offset transition asia...

獲得當天的 零點 和 當天的最後 一秒的時刻

下面的這個時間為當天時間的 零點 calendar.set calendar.hour of day,0 calendar.set calendar.minute,0 calendar.set calendar.second,0 date start calendar.gettime system....