奇趣5分彩

Python规范库datetime date模块的具体先容

 更新时候:2022年07月12日 11:25:32   作者:匿名V5法式员  
这篇文章首要先容了Python规范库datetime date模块的具体先容,datetime是Python供给的操纵日期和时候的规范库,首要奇趣5分彩datetime.date模块、datetime.time模块及datetime.datetime模块

媒介

datetime是Python供给的操纵日期和时候的规范库,首要奇趣5分彩datetime.date模块、datetime.time模块及datetime.datetime模块。此奇趣5分彩date模块供给了日期操纵相干的体例;time模块供给了时候操纵相干的体例;datetime供给了日期时候操纵的相干内容。本文首要先容datetime.date模块奇趣5分彩经奇趣5分彩操纵函数的操纵概况。

日期东西类:

  • 日期东西具备3个属性:年份、月份、日
  • 日期东西的建立操纵date()界说
  • date()能够将传入的参数转化为datetime.date范例
  • date()函数按地位传参必须是:年份、月份、日
  • date()函数的参数奇趣5分彩年份的规模是1-9999,月份的规模是1-12,日的规模是1-31

1、界说

  • 先导入datetime库再操纵
# coding:utf-8
import datetime
now_date = datetime.date(2022, 12, 26)
print(now_date)

1.2、罕见毛病

  • 贫乏参数
  • 按地位传参时参数值超越规模
# coding:utf-8
import datetime
print(datetime.date(2022, 12, 26))
print(type(datetime.date(2022, 12, 26))) # <class 'datetime.date'>
# 上面的代码报错,贫乏参数
# print(datetime.date(2022, 12)) # TypeError: function missing required argument 'day' (pos 3)
# 上面的代码提醒值毛病,date()函数的参数顺次为 年份、月份、日;年份的规模是1-9999,月份的规模是1-12,日的规模是1-31
# print(datetime.date(10001, 12, 12)) # ValueError: year 10001 is out of range
# print(datetime.date(2022, 13, 12)) # ValueError: month must be in 1..12
# print(datetime.date(2022, 12, 32)) # ValueError: day is out of range for month
# 关头字传传参,只需保障年份、月份、天的值奇趣5分彩在可用规模内,地位不受影响
print(datetime.date(day=15, year=2029, month=12))

2、date类经奇趣5分彩操纵的函数

2.1、获得当期日期

# coding:utf-8
import datetime
print(datetime.date.today()) # 2022-07-08
print(type(datetime.date.today())) # <class 'datetime.date'>

2.2、格局化日期

2.2.1、ctime()

  • 将一个datetime.date东西转换为日期时候格局的字符串
  • ctime()函数的参数必须是 datetime.date范例
print(datetime.date.ctime(datetime.date.today())) # Fri Jul 8 00:00:00 2022
print(type(datetime.date.ctime(datetime.date.today()))) # <class 'str'>
# ctime()函数的参数必须是 datetime.date范例
print(datetime.date.ctime(datetime.date(2022, 12, 26))) # Mon Dec 26 00:00:00 2022

2.2.2、datetime.date东西

datetime_1 = datetime.date(2022, 12, 26)
# 获得日期东西的日,前往的值为int范例
print(datetime_1.day, type(datetime_1.day), type(datetime_1)) # 26 <class 'int'> <class 'datetime.date'>
# 获得日期东西的月,前往的值亦为int范例
print(datetime_1.month, type(datetime_1.month), type(datetime_1)) # 12 <class 'int'> <class 'datetime.date'>
# 获得日期东西的年,前往的值亦为int范例
print(datetime_1.year, type(datetime_1.year), type(datetime_1)) # 2022 <class 'int'> <class 'datetime.date'>

2.2.3、replace(self, year=None, month=None, day=None)

  • 替代datetime.date东西的值
  • replace()函数具备一个必传参数,三个默许参数
  • year是要替代的年度
  • month是要替代的月份
  • day是要替代的日
datetime_1 = datetime.date(2022, 12, 26)
print(datetime.date.replace(datetime_1, year=2019, month=11, day=25)) # 2019-11-25
print(type(datetime.date.replace(datetime_1, year=2019, month=11, day=25))) # <class 'datetime.date'>
print(datetime_1)
# 必须奇趣5分彩一个日期或时候东西的参数,不传替代参数即前往传入的datetime.date东西的值
print(datetime.date.replace(datetime_1)) # 2022-12-26
# 只替代年度
print(datetime.date.replace(datetime_1, year=2019)) # 2019-12-26
# 只替代月份
print(datetime.date.replace(datetime_1, month=11)) # 2022-11-26
# 只替代日
print(datetime.date.replace(datetime_1, day=25)) # 2022-12-25

经由过程察看,替代年度、月份、日 奇趣5分彩是在2022-12-26(datetime_1变量的初始值)根本上替代的。以是能够必定的是该函数不会转变原变量的值

2.2.4、格局化日期

格局标记

标记的寄义

%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

一年奇趣5分彩的礼拜数(00-53)礼拜天为礼拜的起头

%w

礼拜(0-6),礼拜天为 0,礼拜一为 1,以此类推。

%W

一年奇趣5分彩的礼拜数(00-53)礼拜一为礼拜的起头

%x

本地响应的日期表现

%X

本地响应的时候表现

%Z

今后时区的称号

%%

%号自身

datetime_2 = datetime.datetime.today()
print(datetime_2, type(datetime_2))
print(datetime.date.strftime(datetime_1, "%Y--%y--%D--%d--%H--%h--%M--%m--%S--%A--%a--%B--%b--%C--%c"))
print(datetime.date.strftime(datetime_2, "%Y--%y--%D--%d--%H--%h--%M--%m--%S--%A--%a--%B--%b--%C--%c"))
# 经奇趣5分彩操纵的格局: 年、月、日、时、分、秒
print(datetime.date.strftime(datetime_2, "%Y-%m-%d %H:%M:%S")) # 2022-07-08 18:32:40

2.3、ISO规范格局日期

  • 格局:(4位年-2位月-两位日),如(2022,07,08)
# 前往日期或时候东西的ISO规范日期(4位年-2位月-两位日)
print(datetime.date.isoformat(datetime_1), datetime_1) # 2022-12-26 2022-12-26
print(datetime.date.isoformat(datetime_2), datetime_2) # 2022-07-08 2022-07-08 18:44:36.613676
# 将合适ISO规范格局的日期字符串转换为datetime.date东西
print(datetime.date.fromisoformat("2022-07-08"), type(datetime.date.fromisoformat("2022-07-08")))
# 不合适ISO规范格局的日期字符串则报错
# print(datetime.date.fromisoformat("2022-7-08")) # ValueError: Invalid isoformat string: '2022-7-08'
# print(datetime.date.fromisoformat("2022-07-8")) # ValueError: Invalid isoformat string: '2022-7-08'

2.3.1、获得合适ISO规范格局的日期字符串的礼拜几(1~7)

print(datetime.date.isoweekday(datetime.date(2022, 7, 3))) # 7 礼拜日
print(datetime.date.isoweekday(datetime.date(2022, 7, 4))) # 1 礼拜一
print(datetime.date.isoweekday(datetime.date(2022, 7, 8))) # 5 礼拜五
print(datetime.date.isoweekday(datetime.date(2022, 7, 9))) # 6 礼拜六

2.3.2、前往日期或时候东西的礼拜几(0~6)

# 前往日期或时候东西的礼拜几(0~6)
print(datetime.date.weekday(datetime.date(2022, 7, 3))) # 6 礼拜日
print(datetime.date.weekday(datetime.date(2022, 7, 4))) # 0 礼拜一
print(datetime.date.weekday(datetime.date(2022, 7, 8))) # 4 礼拜五
print(datetime.date.weekday(datetime.date(2022, 7, 9))) # 5 礼拜六

2.3.3、根据时候戳计较日期

print(datetime.date.fromtimestamp(2015236523)) # 2033-11-10
print(type(datetime.date.fromtimestamp(2015236523))) # <class 'datetime.date'>

2.3.4、ISO规范格局的时候元奇趣5分彩

  • 格局 :(年份, 周数, 礼拜数),如(2022,26,7)
  • 周数:一年奇趣5分彩的第几周,规模是1~53
  • 礼拜数:礼拜奇趣5分彩的第几天,周一为第1天,周日为第7天
# 获得合适ISO规范格局的时候元奇趣5分彩
print(datetime.date.isocalendar(datetime.date(2022, 7, 3))) # datetime.IsoCalendarDate(year=2022, week=26, weekday=7)
# 根据合适ISO规范格局的时候元奇趣5分彩(年份, 周数, 礼拜数)计较日期
print(datetime.date.fromisocalendar(2022, 26, 7)) # 2022-07-03

2.4、奇趣5分彩元历格局日期

  • 奇趣5分彩元1年1月1日为1
print(datetime.date.fromordinal(1), type(datetime.date.fromordinal(1))) # 0001-01-01 <class 'datetime.date'>
print(datetime.date.fromordinal(5)) # 0001-01-05
print(datetime.date.fromordinal(738339)) # 2022-07-03
# 前往奇趣5分彩元奇趣5分彩历起头到此刻的天数
print(datetime.date.toordinal(datetime.date(2022, 7, 3))) # 738339

3、其余

# 将 date范例转换为struct_time范例
print(datetime.date.timetuple(datetime.date(2022, 7, 3)))
# 日期范例的最大值
print(datetime.date.max)
# 日期范例的最小值
print(datetime.date.min)

附录:完全代码

# coding:utf-8
import datetime
# 日期东西类(date class)
"""
* 日期东西具备3个属性:年份、月份、日
* date()能够将指定的三个参数转化为datetime.date类的范例
* date()函数按地位传参必须是:年份、月份、日的挨次
"""
print(datetime.date(2022, 12, 26))
print(type(datetime.date(2022, 12, 26))) # <class 'datetime.date'>
# 上面的代码报错,贫乏参数
# print(datetime.date(2022, 12)) # TypeError: function missing required argument 'day' (pos 3)
# 上面的代码提醒值毛病,date()函数的参数顺次为 年份、月份、日;年份的规模是1-9999,月份的规模是1-12,日的规模是1-31
# print(datetime.date(10001, 12, 12)) # ValueError: year 10001 is out of range
# print(datetime.date(2022, 13, 12)) # ValueError: month must be in 1..12
# print(datetime.date(2022, 12, 32)) # ValueError: day is out of range for month
# 关头字传传参,只需保障年份、月份、天的值奇趣5分彩在可用规模内,地位不受影响
print(datetime.date(day=15, year=2029, month=12))
# date类经奇趣5分彩操纵的函数
# 获得当期日期
print(datetime.date.today()) # 2022-07-08
print(type(datetime.date.today())) # <class 'datetime.date'>
# ctime()是将一个datetime.date东西转换为日期时候格局的字符串
print(datetime.date.ctime(datetime.date.today())) # Fri Jul 8 00:00:00 2022
print(type(datetime.date.ctime(datetime.date.today()))) # <class 'str'>
# ctime()函数的参数必须是 datetime.date范例
print(datetime.date.ctime(datetime.date(2022, 12, 26))) # Mon Dec 26 00:00:00 2022

# 建立一个 datetime.date东西
datetime_1 = datetime.date(2022, 12, 26)
# 获得日期东西的日,前往的值为int范例
print(datetime_1.day, type(datetime_1.day), type(datetime_1)) # 26 <class 'int'> <class 'datetime.date'>
# 获得日期东西的月,前往的值亦为int范例
print(datetime_1.month, type(datetime_1.month), type(datetime_1)) # 12 <class 'int'> <class 'datetime.date'>
# 获得日期东西的年,前往的值亦为int范例
print(datetime_1.year, type(datetime_1.year), type(datetime_1)) # 2022 <class 'int'> <class 'datetime.date'>
# 替代datetime.date东西的值
# replace(self, year=None, month=None, day=None) 函数具备一个必传参数,三个默许参数
# year是要替代的年度
# month是要替代的月份
# day是要替代的日
print(datetime.date.replace(datetime_1, year=2019, month=11, day=25)) # 2019-11-25
print(type(datetime.date.replace(datetime_1, year=2019, month=11, day=25))) # <class 'datetime.date'>
print(datetime_1)
# 必须奇趣5分彩一个日期或时候东西的参数,不传替代参数即前往传入的datetime.date东西的值
print(datetime.date.replace(datetime_1)) # 2022-12-26
# 只替代年度
print(datetime.date.replace(datetime_1, year=2019)) # 2019-12-26
# 只替代月份
print(datetime.date.replace(datetime_1, month=11)) # 2022-11-26
# 只替代日
print(datetime.date.replace(datetime_1, day=25)) # 2022-12-25
# 经由过程察看,替代年度、月份、日 奇趣5分彩是在2022-12-26(datetime_1变量的初始值)根本上替代的。以是能够必定的是该函数不会转变源变量的值
# 格局化日期
datetime_2 = datetime.datetime.today()
print(datetime_2, type(datetime_2))
print(datetime.date.strftime(datetime_1, "%Y--%y--%D--%d--%H--%h--%M--%m--%S--%A--%a--%B--%b--%C--%c"))
print(datetime.date.strftime(datetime_2, "%Y--%y--%D--%d--%H--%h--%M--%m--%S--%A--%a--%B--%b--%C--%c"))
# 经奇趣5分彩操纵的格局: 年、月、日、时、分、秒
print(datetime.date.strftime(datetime_2, "%Y-%m-%d %H:%M:%S")) # 2022-07-08 18:32:40
# 前往日期或时候东西的ISO规范日期(4位年-2位月-两位日)
print(datetime.date.isoformat(datetime_1), datetime_1) # 2022-12-26 2022-12-26
print(datetime.date.isoformat(datetime_2), datetime_2) # 2022-07-08 2022-07-08 18:44:36.613676
# 将合适ISO规范格局的日期字符串转换为datetime.date东西
print(datetime.date.fromisoformat("2022-07-08"), type(datetime.date.fromisoformat("2022-07-08")))
# 不合适ISO规范格局的日期字符串则报错
# print(datetime.date.fromisoformat("2022-7-08")) # ValueError: Invalid isoformat string: '2022-7-08'
# print(datetime.date.fromisoformat("2022-07-8")) # ValueError: Invalid isoformat string: '2022-7-08'
# 获得合适ISO规范格局的日期字符串的礼拜几(1~7)
print(datetime.date.isoweekday(datetime.date(2022, 7, 3))) # 7 礼拜日
print(datetime.date.isoweekday(datetime.date(2022, 7, 4))) # 1 礼拜一
print(datetime.date.isoweekday(datetime.date(2022, 7, 8))) # 5 礼拜五
print(datetime.date.isoweekday(datetime.date(2022, 7, 9))) # 6 礼拜六
# 前往日期或时候东西的礼拜几(0~6)
print(datetime.date.weekday(datetime.date(2022, 7, 3))) # 6 礼拜日
print(datetime.date.weekday(datetime.date(2022, 7, 4))) # 0 礼拜一
print(datetime.date.weekday(datetime.date(2022, 7, 8))) # 4 礼拜五
print(datetime.date.weekday(datetime.date(2022, 7, 9))) # 5 礼拜六
# 根据时候戳计较日期
print(datetime.date.fromtimestamp(2015236523)) # 2033-11-10
print(type(datetime.date.fromtimestamp(2015236523))) # <class 'datetime.date'>
# 获得合适ISO规范格局的时候元奇趣5分彩(年份, 周数, 礼拜数)
# 周数:一年奇趣5分彩的第几周,规模是1~53
# 礼拜数:礼拜奇趣5分彩的第几天,周一为第1天,周日为第7天
print(datetime.date.isocalendar(datetime.date(2022, 7, 3))) # datetime.IsoCalendarDate(year=2022, week=26, weekday=7)
# 根据合适ISO规范格局的时候元奇趣5分彩(年份, 周数, 礼拜数)计较日期
print(datetime.date.fromisocalendar(2022, 26, 7)) # 2022 -07-03
# 将整形按奇趣5分彩元历转换为日期
# * 奇趣5分彩元1年1月1日为1
print(datetime.date.fromordinal(1), type(datetime.date.fromordinal(1))) # 0001-01-01 <class 'datetime.date'>
print(datetime.date.fromordinal(5)) # 0001-01-05
print(datetime.date.fromordinal(738339)) # 2022-07-03
# 前往奇趣5分彩元奇趣5分彩历起头到此刻的天数
print(datetime.date.toordinal(datetime.date(2022, 7, 3))) # 738339
# 将 date范例转换为struct_time范例
print(datetime.date.timetuple(datetime.date(2022, 7, 3)))
# 日期范例的最大值
print(datetime.date.max)
# 日期范例的最小值
print(datetime.date.min)

到此这篇对于Python规范库datetime date模块的具体先容的文章就先容到这了,更多相干Python date模块 内容请搜刮剧本之奇趣5分彩之前的文章或持续阅读上面的相干文章但愿大师今后多多撑持剧本之奇趣5分彩!

相干文章

最新批评