前言:
在開發中經常會與時間打交道,如:獲取事件戳,時間戳的格式化等,這裡簡要記錄一下python操作時間的方法。
python中常見的處理時間的模組:
time模組介紹
說明:time模組主要講解如下內容:
1.時間戳 --> 時間元組格式(time.struct_time) --> 日期字串
import time
time_tuple = time.localtime(time.time())
print time_tuple # time.struct_time(tm_year=2019, tm_mon=1, tm_mday=30, tm_hour=11, tm_min=29, tm_sec=33, tm_wday=2, tm_yday=30, tm_isdst=0)
time_format = time.strftime("%y-%m-%d %h:%m:%s", time_tuple)
print time_format # 2019-01-30 11:48:07
def timestamp_format(timestamp):
""":brief 時間戳格式化
:param timestamp: 時間戳
:return: 格式化後的日期
"""return time.strftime("%y-%m-%d %h:%m:%s", time.localtime(timestamp))
2.日期字串 --> 時間元組格式(time.struct_time) --> 時間戳
import time
time_str_to_tuple = time.strptime("2019-01-30 11:48:07", "%y-%m-%d %h:%m:%s")
print time_str_to_tuple # time.struct_time(tm_year=2019, tm_mon=1, tm_mday=30, tm_hour=11, tm_min=48, tm_sec=7, tm_wday=2, tm_yday=30, tm_isdst=-1)
time_tuple_to_timestamp = int(time.mktime(time_str_to_tuple))
print time_tuple_to_timestamp # 結果:1548820087
def time_str_to_timestamp(date_str, format):
""":brief 將字串日期轉換為時間戳
:param date_str: 日期字串,如:2019-01-30 11:48:07
:param format: 日期字串對應的格式化格式,如:%y-%m-%d %h:%m:%s
:return: 時間戳
"""return int(time.mktime(time.strptime(date_str, format)))
3.獲取當前時間的分鐘/秒
timestamp = int(time.time())
seconds = timestamp % 60
print "seconds:{}".format(seconds)
minute = (timestamp - seconds) % (60 * 60)
print "minute:{}".format(minute / 60)
4.獲取整分鐘/整小時時間戳
one_minute = 60 # 一分鐘
one_hour = one_minute * 60 # 一小時
whole_minute = int(timestamp / one_minute) * one_minute
whole_hour = int(timestamp / one_hour) * one_hour
datetime模組介紹
datetime模組中常見的類:
說明:datetime模組主要講解如下內容
1.時間戳 --> datetime時間格式 --> 日期字串
import time, datetime
datetime_type = datetime.datetime.fromtimestamp(time.time())
print type(datetime_type) #
datetime_format = datetime_type.strftime("%y/%m/%d %h:%m:%s")
print datetime_format # 2019/01/30 16:44:01
2.日期字串 --> datetime時間格式 --> 時間元組格式(time.struct_time) --> 時間戳
datetime_type = datetime.datetime.strptime('2019/01/30 16:44:01', '%y/%m/%d %h:%m:%s')
print type(datetime_type) # # print datetime_type.timestamp()
print time.mktime(datetime_type.timetuple())
datetime_type_to_timestamp = int(time.mktime(datetime_type.timetuple()))
print datetime_type_to_timestamp
3.時間差的使用,根據當前時間獲取前n天的時間
datetime.timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks)
引數說明:
1.days:天
2.seconds:秒
3.microseconds:毫秒 1秒 = 10^3 毫秒
4.milliseconds:微秒 1秒 = 10^6 微秒
5.minutes,分鐘
6.hours:小時
7.weeks:星期 1weeks = 7days
day_timedelta = datetime.timedelta(days=1) # 獲取1天的時間值
forward_datetime = datetime.datetime.today() - day_timedelta # 獲取前一天的datetime值
print forward_datetime
calendar模組介紹
說明:這裡介紹一下使用month(year, month)方法列印出某年某月下的月曆時間
例子:
import calendar
cal = calendar.month(2019, 1) # 列印出2023年1月的月曆
print cal
python時間模組使用
目錄 1,匯入時間模組包 2,獲取當前時間的時間元組 3,將時間元組轉成時間戳 4,求三天前的時間戳 5,將上述時間戳轉換成時間元組 6,格式化時間 python中時間日期格式化符號 7,列印指定的時間 時間元組的屬性如下 import time tupletime time.localtime p...
python的時間模組
time模組 import time time.clock 第一次呼叫,浮點數形式返回當前cpu執行時間 time.sleep 1 print time.clock 第二次呼叫,浮點數的形式返回距離上次呼叫該函式至此次的時間間隔 1.000666284344328 print time.localt...
python的時間模組
import time 格式化時間 格式化的字串,時間tuple res time.strftime y m d j days print res y 兩位數的年份表示 00 99 y 四位數的年份表示 000 9999 m 月份 01 12 d 月內中的一天 0 31 h 24小時制小時數 0 2...