Python常用模块--datetime

 

datetime是Python专门用于处理日期和时间的标准模块。

 

1.获取当前的本地时间

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = "问道编程"
__date__ = "2019/03/18 11:17"

from datetime import datetime
now = datetime.now() # 类型为datetime
print(now)

获得的时间是不包含时区信息的,只能当做本地时间

 

2.获得特定时间格式的数据,即将输入的特定参数格式化为datetime格式

from datetime import datetime
time_get = datetime(2019, 3, 18, 11, 27)
print(time_get)

 

3.将str时间转换为datetime格式,常用于捕获的时间存入数据库或者进行加减运算

from datetime import datetime
time_get = datetime.strptime('2019-03-18 11:27:00', '%Y-%m-%d %H:%M:%S')
print(time_get)

 

4.将datetime格式转换为str

from datetime import datetime
time_get = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(time_get)

 

5.timestamp相关操作

timestamp是指时间戳,是一个float类型的数值,例如:

1552879809.015961

timestamp=0的时刻为:1970年1月1日 00:00:00 UTC+00:00,当前timestamp值,是指从timestamp=0时经过的秒数(之前的时刻为负值)。

获取某一时刻的timestamp值:

from datetime import datetime
now = datetime.now().timestamp()
print(now)

timestamp值与时区无关,在进行datetime与timestamp换算时,自动采用系统默认的时区进行换算,所以世界上所有的计算机的timestamp值是相同的(联网+校时)

将timestamp值转换为datetime值:

from datetime import datetime
now = datetime.fromtimestamp(1552879809.015961)
print(now)

 

6.时间的运算--加减

from datetime import datetime, timedelta   
now = datetime.datetime.now()
print(now + timedelta(days=1, hours=1))
print(now - timedelta(days=2, hours=3))

这是一个非常方便的小功能,常用于倒计时

 

7.时区的操作

from datetime import datetime, timedelta, timezone

now = datetime.utdnow() # 获取utc时间,当前时区为0区
now.replace(tzinfo=timezone(timedelta(hours=8))) # 将获得的时间的时区改为东8区时间,即+8区,即北京时间
now.astimezone(timezone(timedelta(hours=8)) # 使用astimezone方法修改时区

 

posted @ 2019-03-18 16:05  问道编程  阅读(272)  评论(0编辑  收藏  举报