Skip to content

Commit

Permalink
add python_datetime.py
Browse files Browse the repository at this point in the history
  • Loading branch information
xianhu committed Nov 15, 2016
1 parent f803e25 commit aaed9d3
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
### python_functional.py: Python进阶: 函数式编程实例(附代码)

### python_decorator.py: Python进阶: 通过实例详解装饰器(附代码)

### python_datetime.py: 你真的了解Python中的日期时间处理吗?
===============================================================================

### 您可以fork该项目,并在修改后提交Pull request
54 changes: 54 additions & 0 deletions python_datetime.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# _*_ 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类型

0 comments on commit aaed9d3

Please sign in to comment.