python時間模組的使用

2021-09-12 22:19:25 字數 3573 閱讀 6499

前言:

在開發中經常會與時間打交道,如:獲取事件戳,時間戳的格式化等,這裡簡要記錄一下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...