Skip to content

Commit aaed9d3

Browse files
committed
add python_datetime.py
1 parent f803e25 commit aaed9d3

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
### python_functional.py: Python进阶: 函数式编程实例(附代码)
2222

2323
### python_decorator.py: Python进阶: 通过实例详解装饰器(附代码)
24+
25+
### python_datetime.py: 你真的了解Python中的日期时间处理吗?
2426
===============================================================================
2527

2628
### 您可以fork该项目,并在修改后提交Pull request

python_datetime.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# _*_ coding: utf-8 _*_
2+
3+
import time
4+
import calendar
5+
import datetime
6+
7+
8+
# time模块中的三种时间形式
9+
print("time stamp:", time.time()) # 时间戳
10+
print("local time:", time.localtime()) # struct_time类型的本地时间
11+
print("utc time:", time.gmtime()) # struct_time类型的utc时间
12+
13+
# time模块中,三种时间形式之间的转换
14+
time_stamp = time.time() # 时间戳
15+
local_time = time.localtime(time_stamp) # 时间戳转struct_time类型的本地时间
16+
utc_time = time.gmtime(time_stamp) # 时间戳转struct_time类型的utc时间
17+
18+
time_stamp_1 = time.mktime(local_time) # struct_time类型的本地时间转时间戳
19+
time_stamp_2 = calendar.timegm(utc_time) # struct_time类型的utc时间转时间戳
20+
print(time_stamp, time_stamp_1, time_stamp_2)
21+
22+
23+
# time模块中,三种时间形式和字符串之间的转换
24+
print(time.ctime(time_stamp)) # 时间戳转字符串(本地时间字符串)
25+
26+
print(time.asctime(local_time)) # struct_time类型的本地时间转字符串
27+
print(time.asctime(utc_time)) # struct_time类型的utc时间转字符串
28+
29+
print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", local_time)) # struct_time类型的本地时间转字符串:自定义格式
30+
print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", utc_time)) # struct_time类型的utc时间转字符串:自定义格式
31+
32+
struct_time = time.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w") # 字符串转struct_time类型
33+
34+
35+
# datetime模块中datetime类的用法
36+
a_datetime_local = datetime.datetime.now() # 获取datetime.datetime类型的本地时间
37+
a_datetime_utc = datetime.datetime.utcnow() # 获取datetime.datetime类型的utc时间
38+
39+
print(a_datetime_local.strftime("%Y-%m-%d, %H:%M:%S, %w")) # datetime.datetime类型转字符串
40+
print(a_datetime_utc.strftime("%Y-%m-%d, %H:%M:%S, %w")) # datetime.datetime类型转字符串
41+
42+
a_datetime = datetime.datetime.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w") # 字符串转datetime.datetime格式
43+
44+
45+
# datetime.datetime类和时间戳、struct_time类型之间的转换
46+
time_stamp = a_datetime_local.timestamp() # datetime类型转时间戳
47+
print(time_stamp)
48+
49+
a_datetime_local = datetime.datetime.fromtimestamp(time.time()) # 时间戳转datetime.datetime类型的本地时间
50+
a_datetime_utc = datetime.datetime.utcfromtimestamp(time.time()) # 时间戳转datetime.datetime类型的utc时间
51+
print(a_datetime_local, a_datetime_utc)
52+
53+
print(a_datetime_local.timetuple()) # datetime类型转struct_time类型
54+
print(a_datetime_utc.utctimetuple()) # datetime类型转struct_time类型

0 commit comments

Comments
 (0)