python-datetime模块使用-全

python中时间日期格式化符号:

%y 两位数的年份表示 (00-99)

%Y 四位数的年份表示 (000-9999)

%m 月份 (01-12)

%d 月份中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数 (00-59)

%S 秒 (00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化月份名称

%B 本地完成月份名称

%c 本地对应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6)星期天为开始的

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

函数 作用
datetime.date(year, mouth,day) 获取某天日期,返回日期格式
datetime.date.fromtimestamp(timestamp) 从时间戳获取日期
datetime.date.today() 获取当前日期
1.1 datetime.date(year, mouth,day)

获取某天日期,返回日期格式

a = datetime.date(2020,2,23)
print(a)
print(type(a))

image-20240117120757560

1.1.1datetime.date格式的重要性
使用 作用
a.year 提取年,输出2024,类型为 int
a.month 提取月,输出1,类型为int
a.day 提取日,输出17,类型为int
a.isoformat() 提取该日期的字符串,输出2024-01-17
a.replace(a.year,7,a.day) 替换日期,把月替换为7月
a.isoweekday() 返回 iso 星期几。monday=1
a.weekday() 返回非iso的星期几,monday=0
a.strftime(‘%Y/%m/%d’) 返回该日期的字符串。输出2024-01-17,类型为str。假如不需要日,把/%d去掉即可。中间分隔支持任意英文字符,如 / ,但不支持中文。
a.timetuple() 结构化日期,返回日期时间元组。包括 年月日时分秒 非iso星期 年日数 夏令时。
a.toordinal() 返回公历序数。即从公历开始算,是第几日。
a.ctime() 返回英文的时间格式标准

datetime.date格式都可以使用这个表中的函数去获取属性

a = datetime.date(2020,2,23)
print(a.year)
print(a.month)
print(a.day)
print(a.isoformat())
print(a.replace(a.year,7,a.day))
print(a.isoweekday())
print(a.weekday())
print(a.strftime('%Y/%m/%d'))
print(a.timetuple())
print(a.toordinal())
print(a.ctime())

image-20240117125130056

1.2 datetime.date.fromtimestamp(timestamp)

从时间戳获取日期

a = datetime.date.fromtimestamp(1681925739)
print(type(a))
print(a)

image-20240117140303953

1.3 datetime.date.today()

获取当前日期

a = datetime.date.today()
print(type(a))
print(a)

image-20240117140418282

2. datetime.time

函数 作用
datetime.time(hour, minute,second,millisecond) 获取时间,返回时间格式
2.1 datetime.time(hour, minute,second,millisecond)

获取时间,返回时间格式

a = datetime.time(20,20,20,10000)
print(type(a))
print(a)

image-20240117140523418

2.1.1 datetime.time格式重要属性
属性 作用
a.hour 提取时
a.minute 提取分
a.second 提取秒
a.microsecond 提取毫秒
a.isoformat 返回该时间的字符串。输出 12:03:56:888888
a.replace(second=44) 把秒替换成44,返回的格式为 datetime.time
a.strftime(‘%H:%M:%S’) 格式化时间,输出指定格式的字符串
a.tzname() 返回时区名称
a.utcoffset() 返回时区的时间偏移量

datetime.time格式都可以使用这些函数去提取属性

a = datetime.time(20,20,20,10000)
print(a.hour)
print(a.minute)
print(a.second)
print(a.microsecond)
print(a.isoformat(),type(a.isoformat()))
print(a.replace(second=44,minute=44),type(a.replace(second=44,minute=44)))
print(a.strftime('%H-%M-%S'))

image-20240117141554666

3. datetime.datetime

函数 作用
datetime.datetime(year, month,day,hour,minute,second,microsecond) 获取某天日期时间,至少传入 year,mouth,day 三个参数
datetime.datetime.now() 获取当前的日期时间
datetime.datetime.today() 获取当前的日期时间
datetime.datetime.fromtimestamp(timestamp) 从时间戳获取日期时间
datetime.datetime.utcnow() 获取现在的格林尼治时间
datetime.datetime.utcfromtimestamp(timestamp) 从时间戳获取林尼治时间
datetime.datetime.combine(date,time) 通过连接日期和时间生成日期时间
datetime.datetime.timestamp(dt) 获取时间戳
datetime.datetime.strptime(string,format) 把字符串类型转化为日期时间
datetime.timedalta(weeks,days,hours,minutes,seconds,milliseconds,microseconds) 时间增量,可作时间的加减
3.1 datetime.datetime(year, month,day,hour,minute,second,microsecond)

获取某天日期时间,至少传入 year,mouth,day 三个参数

a = datetime.datetime(2024,1,1,1,1,1,1000)
print(a)
print(type(a))

3.1.1 datetime.datetime格式的重要属性
属性 作用
a.date() 提取日期,返回的类型为 datetime.date
a.time() 提取时间,返回的类型为 datetime.time
a.year 提取年
a.mouth 提取月
a.day 提取日
a.hour 提取时
a.minute 提取分
a.second 提取秒
a.microsecond 提取毫秒
a.timestamp() 提取时间戳
a.timetuple() 返回日期时间元组
a.isoweekday() 返回iso星期几,Monday=1
a.weekday() 返回非iso星期几,Monday=0
a.replace(mouth=2) 把月替换成2,类型还时 datetime.datetime
a.strftime(‘%Y/%m/%d %H:%M:%S:%f’) 格式化日期时间。输出指定格式字符串。中间分隔支持任意英文字符,如 / : ,但不支持中文。
a.toordinal() 返回公历序数。即从公历开始算,是第几日。
a = datetime.datetime(2024,1,1,1,1,1,1000)
print(a.date(),type(a.date()))
print(a.time(),type(a.time()))
print(a.year)
print(a.month)
print(a.day)
print(a.hour)
print(a.minute)
print(a.second)
print(a.microsecond)
print(a.timestamp())
print(a.timetuple())
print(a.isoweekday())
print(a.weekday())
print(a.replace(month=2))
print(a.strftime('%Y/%m/%d %H:%M:%S:%f'))
print(a.toordinal())

image-20240117145246813

3.2 datetime.datetime.now()

获取当前的日期时间

a = datetime.datetime.now()
print(a)

image-20240117145504336

3.3 datetime.datetime.today()

获取当前的日期时间

a = datetime.datetime.today(1681969157)
print(a)

image-20240117145533967

3.4 datetime.datetime.fromtimestamp(timestamp)

从时间戳获取日期时间

a = datetime.datetime.fromtimestamp(1681969157)
print(a)

image-20240117145654921

3.5 datetime.datetime.utcnow()

获取现在的格林尼治时间

a = datetime.datetime.utcnow()
print(a)

image-20240117145731721

3.6 datetime.datetime.utcfromtimestamp(timestamp)

从时间戳获取林尼治时间

a = datetime.datetime.utcfromtimestamp(1681969157)
print(a)

image-20240117145759098

3.7 datetime.datetime.combine(date,time)

通过连接日期和时间生成日期时间

a = datetime.date(2020,12,31)
b = datetime.time(12,21,21)
c = datetime.datetime.combine(a,b)
print(c)

image-20240117145928467

3.8 datetime.datetime.timestamp(dt)

获取时间戳,和 dt.timestamp()一样。

a = datetime.datetime.timestamp(datetime.datetime.now())
print(a)

image-20240117150046860

3.9 datetime.datetime.strptime(string,format)

把字符串类型转化为日期时间

# 使用 strptime 解析字符串  
date_string = "2023-07-18"  
date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d")  
print(type(date_object))
print(date_object)  # 输出:2023-07-18 00:00:00

image-20240117150221259

3.10 datetime.timedalta(weeks,days,hours,minutes,seconds,milliseconds,microseconds)

时间增量,可作时间的加减

a = datetime.datetime(2023,4,18,15,16,20)
print(a)
 
delta = datetime.timedelta(days=5,minutes=23,seconds=37)
b = a + delta
print(b)

image-20240117154712244

时间差

可以直接对两个时间进行减法,从而产生时间增量 timedelta。时间增量可以为负,也可以为正。如算我国时间与格林尼治的时间差:

a = datetime.datetime.now()
b = datetime.datetime.utcnow()
print(a - b)
print(b - a)
print(type(a - b))

image-20240117154757273

相关推荐

  1. Python基础学习之datetime模块

    2024-01-19 04:04:03       34 阅读
  2. Python的时间和日期:探索datetime模块

    2024-01-19 04:04:03       94 阅读
  3. C# 使用DateTime模块判断当前时间处在哪个时段

    2024-01-19 04:04:03       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-19 04:04:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-19 04:04:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-19 04:04:03       87 阅读
  4. Python语言-面向对象

    2024-01-19 04:04:03       96 阅读

热门阅读

  1. css基本写法--详解大全

    2024-01-19 04:04:03       46 阅读
  2. CSS水平垂直居中

    2024-01-19 04:04:03       54 阅读
  3. 着色器语言GLSL学习

    2024-01-19 04:04:03       50 阅读
  4. net.ipv4.ip_forward

    2024-01-19 04:04:03       56 阅读
  5. Template -- Vue3

    2024-01-19 04:04:03       53 阅读
  6. Backtrader 文档学习-Indicators 开发

    2024-01-19 04:04:03       56 阅读
  7. 速盾网络:高防ip是什么

    2024-01-19 04:04:03       48 阅读