天天看點

Python時間處理

# _*_ coding: utf-8 _*_

import time
import calendar
import datetime


# time子產品中的三種時間形式
print("time stamp:", time.time())               # 時間戳
print("local time:", time.localtime())          # struct_time類型的本地時間
print("utc time:", time.gmtime())               # struct_time類型的utc時間

# time子產品中,三種時間形式之間的轉換
time_stamp = time.time()                        # 時間戳
local_time = time.localtime(time_stamp)         # 時間戳轉struct_time類型的本地時間
utc_time = time.gmtime(time_stamp)              # 時間戳轉struct_time類型的utc時間

time_stamp_1 = time.mktime(local_time)          # struct_time類型的本地時間轉時間戳
time_stamp_2 = calendar.timegm(utc_time)        # struct_time類型的utc時間轉時間戳
print(time_stamp, time_stamp_1, time_stamp_2)


# time子產品中,三種時間形式和字元串之間的轉換
print(time.ctime(time_stamp))           # 時間戳轉字元串(本地時間字元串)

print(time.asctime(local_time))         # struct_time類型的本地時間轉字元串
print(time.asctime(utc_time))           # struct_time類型的utc時間轉字元串

print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", local_time))      # struct_time類型的本地時間轉字元串:自定義格式
print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", utc_time))        # struct_time類型的utc時間轉字元串:自定義格式

struct_time = time.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w")       # 字元串轉struct_time類型


# datetime子產品中datetime類的用法
a_datetime_local = datetime.datetime.now()                      # 擷取datetime.datetime類型的本地時間
a_datetime_utc = datetime.datetime.utcnow()                     # 擷取datetime.datetime類型的utc時間

print(a_datetime_local.strftime("%Y-%m-%d, %H:%M:%S, %w"))      # datetime.datetime類型轉字元串
print(a_datetime_utc.strftime("%Y-%m-%d, %H:%M:%S, %w"))        # datetime.datetime類型轉字元串

a_datetime = datetime.datetime.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w")    # 字元串轉datetime.datetime格式


# datetime.datetime類和時間戳、struct_time類型之間的轉換
time_stamp = a_datetime_local.timestamp()                           # datetime類型轉時間戳
print(time_stamp)

a_datetime_local = datetime.datetime.fromtimestamp(time.time())     # 時間戳轉datetime.datetime類型的本地時間
a_datetime_utc = datetime.datetime.utcfromtimestamp(time.time())    # 時間戳轉datetime.datetime類型的utc時間
print(a_datetime_local, a_datetime_utc)

print(a_datetime_local.timetuple())                 # datetime類型轉struct_time類型
print(a_datetime_utc.utctimetuple())                # datetime類型轉struct_time類型