Python标准库datetime模块日期和时间数据类型

Datetime常用类

  • date : 以公历形式存储日历日日期(年、月、日)
  • time : 将时间存储为 时、分、秒
  • datetime : 存储日期和时间

日期date类型使用

# 导入datetime模块
import datetime
# 创建日期
date = datetime.date(2021, 3, 5)
print(date)
# 获取年
print(date.year)
# 获取月
print(date.month)
# 获取日
print(date.day)

时间 time 类型使用

# 创建时间
import datetime
time = datetime.time(13, 14, 20)
print(time)
# 获取小时
print(time.hour)
# 获取分钟
print(time.minute)
# 获取秒
print(time.second)

日期和时间的结合体–日期时间(datetime)

import datetime
# 创建日期时间
datetime = datetime.datetime(2019, 9, 9, 13, 14, 20)
print(datetime)
# 获取年
print(datetime.year)
# 获取月
print(datetime.month)
# 获取日
print(datetime.day)
# 获取小时
print(datetime.hour)
# 获取分钟
print(datetime.minute)
# 获取秒
print(datetime.second)

datetime的time方法可以创建时间,date方法可以创建日期,datetime方法则是日期和时间的结合体
通过year、month、day、hour、minute、second属性,可以获取到相应的日期或者时间的值

使用 datetime.new() 方法可以获取当前时间

import datetime
# 获取当前时间
print(datetime.datetime.now())
2021-03-02 11:18:28.025878

Process finished with exit code 0

时间格式

Python标准库datetime模块日期和时间数据类型_第1张图片

时间格式转换字符串

直接使用str进行强制转换即可

import datetime
date_time = datetime.datetime(2021, 3, 5, 13, 14, 20)
print(type(date_time))
print(date_time)
str_date_time = str(date_time)
print(str_date_time)
print(type(str_date_time))

2021-03-05 13:14:20
2021-03-05 13:14:20


Process finished with exit code 0

格式转换 strftime()

strftime()方法的作用是将时间格式转化为自定义字符串格式,格式可以完全自定义

import datetime
date_time = datetime.datetime(2021, 3, 5, 13, 14, 20)
str_time = date_time.strftime('%m/%d/%Y %H:%M')

print(str_time)
03/05/2021 13:14

Process finished with exit code 0

格式转换 strptime()

strptime()方法的作用是字符串时间转化为datetime格式

  • 需要注意的是按一定的格式输出时间

例:

import datetime
strp = datetime.datetime.strptime('Aug-23-21 20:13', '%b-%d-%y %H:%M')
print(strp)
2021-08-23 20:13:00

时间日期格式转换为时间戳(秒)

  • 利用时间戳进行时间加减
import time
now = datetime.datetime.now()
time_stamp = time.mktime(now.timetuple()) 
print(time_stamp)

>>> 1640851597.0

时间戳转换为字符串

import time

date_num = 1640851597.0
date_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(date_num)) 

print(date_num)

>>> 2021-12-30 16:06:37

时间戳转换为datetime

  • 这个方法获取的时间好像不是北京时间
import time
import datetime

date_num = 1640851597.0
dateArray = datetime.datetime.utcfromtimestamp(date_num)

print(dateArray)
print(type(dateArray))

>>> 2021-12-30 08:06:37
>>> <class 'datetime.datetime'>

你可能感兴趣的:(值得拥有-Python,笔记,python)