目录
1、日期时间对象
2、创建日期时间对象
2.1、通过datetime.datetime.utcnow()创建
2.2、通过datetime.datetime.today()函数创建
2.3、通过datetime.datetime.now()创建
2.4、通过datetime.datetime()创建
2.5、查看创建的对象
2.6、查看datetime可以处理的最大的日期时间对象及最小的日期时间对象
3、日期事件对象的属性
4、日期时间对象转换为时间元组
5、将日期时间对象转化为公元历开始计数的天数
6、日期时间对象转换为一个日期格式值的字符串
首页 后端开发 Python教程 Python之datetime模块怎么使用

Python之datetime模块怎么使用

May 30, 2023 am 09:52 AM
python datetime

    1、日期时间对象

    • 日期时间对象是指具有日期(年月日)和时间(时分秒)双重属性的实例

    • 日期时间对象的类型为datetime.datetime

    • 日期时间对象常用的属性有年、月、日、时、分、秒、微秒

    • 日期时间对象可以指定时间创建,也可以通过获取当前时间来创建

    • 日期时间对象指定时间创建时可按位置传参创建,也可关键字传参创建

    • 日期时间对象的创建函数有datetime.datetime(),datetime.datetime.now()、datetime.datetime.today()、datetime.datetime.utcnow()

    • 日期时间对象通过datetime.datetime()创建时的参数依次为:year,month,day,hour,minute,second,microsecond

    • 日期时间对象通过datetime.datetime.now()函数创建不需要参数

    • 日期时间对象通过datetime.datetime.today()函数创建不需要参数

    • 日期时间对象通过datetime.datetime.utcnow()函数创建不需要参数

    • 日期时间对象通过datetime.datetime()创建时至少应该包含年、月、日三个参数

    • 日期时间对象通过datetime.datetime()创建时的参数范围如下

    序号 形参 实参范围
    1 year 1~9999
    2 month 1~12
    3 day 0~23
    4 hour 0~23
    5 minute 0~59
    6 second 0~59
    7 microsecond 1~999999

    2、创建日期时间对象

    2.1、通过datetime.datetime.utcnow()创建

    datetime_zero = datetime.datetime.utcnow()
    登录后复制

    2.2、通过datetime.datetime.today()函数创建

    datetime_first = datetime.datetime.today()
    登录后复制

    2.3、通过datetime.datetime.now()创建

    datetime_second = datetime.datetime.now()
    登录后复制

    2.4、通过datetime.datetime()创建

    • 指定日期时间创建

    • 必传年、月、日参数

    • 指定日期时间、位置参数的顺序不可变且参数值必须在规定的范围内

    datetime_three = datetime.datetime(year=1, month=1, day=1, hour=0, minute=0, second=0, microsecond=1)
    datetime_four = datetime.datetime(year=9999, month=12, day=31, hour=23, minute=59, second=59, microsecond=999999)
    datetime_five = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
    登录后复制

    2.5、查看创建的对象

    print(datetime_zero, type(datetime_zero))       # 2022-07-09 18:12:43.486469 <class &#39;datetime.datetime&#39;>
    print(datetime_first, type(datetime_first))     # 2022-07-09 18:12:43.486469 <class &#39;datetime.datetime&#39;>
    print(datetime_second, type(datetime_second))   # 2022-07-09 18:12:43.486469 <class &#39;datetime.datetime&#39;>
    print(datetime_three, type(datetime_three))     # 0001-01-01 00:00:00.000001 <class &#39;datetime.datetime&#39;>
    print(datetime_four, type(datetime_four))       # 9999-12-31 23:59:59.999999 <class &#39;datetime.datetime&#39;>
    print(datetime_five, type(datetime_five))       # 9999-12-31 23:59:59.999999 <class &#39;datetime.datetime&#39;>
    登录后复制

    Python之datetime模块怎么使用

    2.6、查看datetime可以处理的最大的日期时间对象及最小的日期时间对象

    print(datetime.datetime.min)        # 0001-01-01 00:00:00
    print(datetime.datetime.max)        # 9999-12-31 23:59:59.999999
    登录后复制

    Python之datetime模块怎么使用

    3、日期事件对象的属性

    datetime_first = datetime.datetime.today()
    """# 从日期时间对象中获取日期属性【年-月-日】"""
    new_time = datetime.datetime.date(datetime_first)
    print(new_time)
    print(type(new_time))
    """# 从日期时间对象中获取时间属性【时:分:秒:微秒】"""
    new_time = datetime.datetime.time(datetime_first)
    print(new_time)
    print(type(new_time))
    """# 从日期时间对象中获取年份"""
    datetime_year = datetime_first.year
    print(datetime_year, type(datetime_year))       # 2022 <class &#39;int&#39;>
    """# 从日期时间对象中获取月份"""
    datetime_month = datetime_first.month
    print(datetime_month, type(datetime_month))       # 7 <class &#39;int&#39;>
    """# 从日期时间对象中获取天"""
    datetime_day = datetime_first.day
    print(datetime_day, type(datetime_day))       # 10 <class &#39;int&#39;>
    """# 从日期时间对象中获取小时"""
    datetime_hour = datetime_first.hour
    print(datetime_hour, type(datetime_hour))       # 18 <class &#39;int&#39;>
    """# 从日期时间对象中获取分钟"""
    datetime_minute = datetime_first.minute
    print(datetime_minute, type(datetime_minute))       # 56 <class &#39;int&#39;>
    """# 从日期时间对象中获取秒数"""
    datetime_second = datetime_first.second
    print(datetime_second, type(datetime_second))       # 16 <class &#39;int&#39;>
    """# 从日期时间对象中获取微秒"""
    datetime_microsecond = datetime_first.microsecond
    print(datetime_microsecond, type(datetime_microsecond))       # 735264 <class &#39;int&#39;>
    登录后复制

    “”“# datetime.datetime.date()函数的参数只能是datetime.datetime类型”“”
    date_time = datetime.date(2022, 12, 26)

    “”“# 传入的参数不能为datetime.date类型”“”
    “”“# TypeError: descriptor ‘date’ for ‘datetime.datetime’ objects doesn’t apply to a ‘datetime.date’ object”“”
    “”“# print(datetime.datetime.date(date_time))”“”

    time_time = datetime.time(12, 2, 54, 999999)
    “”“# 传入的参数不能为datetime.time类型”“”
    “”“# TypeError: descriptor ‘date’ for ‘datetime.datetime’ objects doesn’t apply to a ‘datetime.time’ object”“”
    “”“# print(datetime.datetime.date(time_time))”“”
    “”“# 同理,datetime.datetime.time()函数传入的参数亦不能为datetime.date类型和datetime.time类型”“”
    “”“# TypeError: descriptor ‘time’ for ‘datetime.datetime’ objects doesn’t apply to a ‘datetime.date’ object”“”
    “”“# print(datetime.datetime.time(date_time))”“”
    “”“# TypeError: descriptor ‘time’ for ‘datetime.datetime’ objects doesn’t apply to a ‘datetime.time’ object”“”
    “”“# print(datetime.datetime.time(time_time))”""

    Python之datetime模块怎么使用

    4、日期时间对象转换为时间元组

    • 时间元组是指具有 年份、月份、日、小时、分钟、秒数、星期中的第N天、年中的第N天、夏令时标志的一个元组对象

    • 时间元组示例:(tm_year=2022, tm_mon=7, tm_mday=9, tm_hour=19, tm_min=14, tm_sec=27, tm_wday=5, tm_yday=190, tm_isdst=0)

    • 其中tm_wday的值从0开始,范围是:0~6,0为星期一,6为星期日;tm_isdst=0代表未启用夏令时

    UTCDateTime = datetime.datetime(year=2022, month=7, day=10, hour=19, minute=14, second=27, microsecond=1235)
    datetime_UTCTimeTuple = datetime.datetime.utctimetuple(UTCDateTime)
    print(datetime_UTCTimeTuple, type(datetime_UTCTimeTuple))  # 类型为:<class &#39;time.struct_time&#39;>
    登录后复制

    Python之datetime模块怎么使用

    5、将日期时间对象转化为公元历开始计数的天数

    • 日期时间对象转化为公元历开始计数的天数

    • 将一个整形数值转换为日期时间对象

    • 整形数值最大值为3652059

    datetime_replace = datetime.datetime(year=2022, month=7, day=9, hour=19, minute=14, second=27, microsecond=123)
    datetime_ordinal = datetime.datetime.toordinal(datetime_replace)
    print(datetime_ordinal, type(datetime_ordinal))     # 738345 <class &#39;int&#39;>
    print(datetime.datetime.fromordinal(1))     # 0001-01-02 00:00:00
    print(datetime.datetime.fromordinal(2))     # 0001-01-02 00:00:00
    datetime_replace_max = datetime.datetime(year=9999, month=12, day=31, hour=23, minute=59, second=59, microsecond=999999)
    print(datetime.datetime.toordinal(datetime_replace_max))
    print(datetime.datetime.fromordinal(3652060))
    登录后复制

    Python之datetime模块怎么使用

    Python之datetime模块怎么使用

    6、日期时间对象转换为一个日期格式值的字符串

    • 示例如 Sat Jul 9 19:14:27 2022(2022年7月9日星期六)

    • 第一部分的值代表星期几

    • 第二部分的值代表月份

    • 第三部分的值代表日

    • 第四部分的值代表时间

    • 第五部分的值代表年份

    datetime_replace = datetime.datetime(year=2022, month=7, day=9, hour=19, minute=14, second=27, microsecond=123)
    print(datetime_replace)
    ctime_datetime = datetime.datetime.ctime(datetime_replace)
    print(ctime_datetime, type(ctime_datetime))
    ```
    ![Python标准库datetime之datetime模块详解_date_07](https://img-blog.csdnimg.cn/b7e257debb0249ca84463b9d73d7dbf1.png)
    ## 7、日期时间对象转换为时间戳
    ```python
    datetime_timestamp = datetime.datetime.timestamp(datetime_replace)
    print(datetime_timestamp, type(datetime_timestamp))         # 1657365267.000123 
    ```
    ![Python标准库datetime之datetime模块详解_datetime_08](https://img-blog.csdnimg.cn/e38e2a5be32242c5a79441e7300e2fc2.png)
    ## 8、时间戳转换为日期时间对象
    ```python
    print(datetime.datetime.fromtimestamp(datetime_timestamp))  # 2022-07-09 19:14:27.000123
    ```
    ![Python标准库datetime之datetime模块详解_datetime_08](https://img-blog.csdnimg.cn/e38e2a5be32242c5a79441e7300e2fc2.png)
    ## 9、日期时间对象转换为时间元组
    ```python
    datetime_timetuple = datetime.datetime.timetuple(datetime_replace)
    print(datetime_timetuple, type(datetime_timetuple))
    ```
    ![Python标准库datetime之datetime模块详解_datetime_08](https://img-blog.csdnimg.cn/e38e2a5be32242c5a79441e7300e2fc2.png)
    ## 10、ISO标准日期时间格式
    ISO标准的日历时间,Calendar中文释义为日历
    * 各个值的含义为(年份、周数、周内的第N天)即(year, week, weekday);
    * weekday的值为[1,7],1代表周一,7代表周日
    * 示例:datetime.IsoCalendarDate(year=2022, week=27, weekday=7)
    ```python
    datetime_replace = datetime.datetime(year=2022, month=7, day=9, hour=19, minute=14, second=27, microsecond=123)
    UTCDateTime = datetime.datetime(year=2022, month=7, day=10, hour=19, minute=14, second=27, microsecond=1235)
    # ISO标准日期时间格式
    print(datetime.datetime.utcoffset(UTCDateTime))
    # 将日期时间对象转换为ISO标准日期时间格式的字符串
    UTC_ISO_DateTime = datetime.datetime.isoformat(UTCDateTime)
    print(UTC_ISO_DateTime, type(UTC_ISO_DateTime))         # 2022-07-10T19:14:27.001235 
    # 将ISO标准日期时间格式的字符串转换为日期时间类型
    From_UTC_ISO_DateTime = datetime.datetime.fromisoformat('9999-12-31T23:59:59.999999')   # 
    print(From_UTC_ISO_DateTime, type(From_UTC_ISO_DateTime))
    # ISO标准的周内第N天
    # 值的范围是[1,7],1代表周一,7代表周日
    UTC_ISO_WeekDateTime = datetime.datetime.isoweekday(UTCDateTime)
    print(UTC_ISO_WeekDateTime, type(UTC_ISO_WeekDateTime))     # 7 
    # ISO标准的日历时间,Calendar中文释义为日历
    # 各个值的含义为(年份、周数、周内的第N天)即(year, week, weekday);
    # weekday的值为[1,7],1代表周一,7代表周日
    # 示例:datetime.IsoCalendarDate(year=2022, week=27, weekday=7)
    UTC_ISO_CalendarDateTime = datetime.datetime.isocalendar(UTCDateTime)
    print(UTC_ISO_CalendarDateTime, type(UTC_ISO_CalendarDateTime))
    # 将ISO标准日历格式的字符串转换为时间日期型
    From_UTC_ISO_CalendarDateTime = datetime.datetime.fromisocalendar(year=2022, week=27, day=7)
    print(From_UTC_ISO_CalendarDateTime)        # 2022-07-10 00:00:00
    print(type(From_UTC_ISO_CalendarDateTime))  # 
    ```
    ![Python标准库datetime之datetime模块详解_python_11](https://img-blog.csdnimg.cn/bb944815182d477a9a662862f13a9f3a.png)
    ## 11、日期时间替换函数replace()
    *  replace()可以只替换日期时间属性的某一项
    * replace()函数的第一个参数必传
    * replace()函数的第一个参数是一个日期时间类型(datetime.datetime)的对象
    * 按关键字传参替换
    * 按位置传参体换
    ```python
    datetime_replace = datetime.datetime(year=2022, month=7, day=9, hour=19, minute=14, second=27, microsecond=123)
    # 初始值
    print(f"datetime_replace的原值为:{datetime_replace}", f"类型是:{type(datetime_replace)}")
    # 不传参数
    print(datetime.datetime.replace(datetime_replace))    # 2022-07-09 19:14:27.000123
    # 只替换年份
    print(datetime.datetime.replace(datetime_replace, 2019))    # 2019-07-09 19:14:27.000123
    print(datetime.datetime.replace(datetime_replace, year=2019))   # 2019-07-09 19:14:27.000123
    # 只替换月份, 替换其他参数同理
    print(datetime.datetime.replace(datetime_replace, month=12))            # 2022-12-09 19:14:27.000123
    print(datetime.datetime.replace(datetime_replace, datetime_replace.year, 12))   # 2022-12-09 19:14:27.000123
    # 替换其他参数同理
    print(datetime.datetime.replace(datetime_replace, year=2019, month=12, day=31, hour=15,
                                    minute=13, second=15, microsecond=9999))    # 2019-12-31 15:13:15.009999
    ```
    ![Python标准库datetime之datetime模块详解_date_12](https://img-blog.csdnimg.cn/4ed28241d33b4928b3a8b2132b08a7d6.png)
    ## 12、日期时间对象格式化strftime()
    * 日期时间对象格式化常用的格式如下
    * %H(两位数的小时)
    * %M(两位数的分钟)
    * %S(两位数的秒)
    * %f(6位数的微秒)
    * %h(简写的月份名,一般为英文简写)
    * %y(两位数的年份)
    * %Y(四位数的年份)
    * %m(两位数的月份)
    * %d(两位数的天数)
    * 可以只格式化部分属性
    ```python
    datetime_replace = datetime.datetime(year=2022, month=7, day=9, hour=19, minute=14, second=27, microsecond=123)
    # 可以只格式化部分属性
    datetime_str = datetime.datetime.strftime(datetime_replace, "%Y-%m-%d %H:%M:%S.%f")
    print(f"格式化后是:{datetime_str}", type(datetime_str))      # 2022-07-09 19:14:27.000123 
    # 格式化日期属性
    datetime_str_date = datetime.datetime.strftime(datetime_replace, "%Y-%m-%d")
    print(f"格式化日期的值为:{datetime_str_date}")      # 2022-07-09
    # 格式时间属性
    datetime_str_time = datetime.datetime.strftime(datetime_replace, "%H:%M:%S.%f")
    print(f"格式化时间的值为:{datetime_str_time}")      # 19:14:27.000123
    ```
    ![Python标准库datetime之datetime模块详解_datetime_13](https://img-blog.csdnimg.cn/4d9da4de3f464f1ca73e30f918406a0a.png)
    ## 附录、完整代码
    ```python
    # coding:utf-8
    import datetime
    # 日期时间对象
    # 日期时间对象是指具有日期(年月日)和时间(时分秒)双重属性的实例
    # 日期时间对象的类型为datetime.datetime
    # 日期时间对象常用的属性有年、月、日、时、分、秒、微秒等
    # 日期时间对象可以指定时间创建,也可以通过获取当前时间来创建
    # 日期时间对象指定时间创建时可按位置传参创建,也可关键字传参创建
    # 日期时间对象的创建函数有datetime.datetime(),datetime.datetime.now()、datetime.datetime.today()、datetime.datetime.utcnow()
    # 日期时间对象通过datetime.datetime()创建时的参数依次为:year,month,day,hour,minute,second,microsecond
    # 日期时间对象通过datetime.datetime.now()函数创建不需要参数
    # 日期时间对象通过datetime.datetime.today()函数创建不需要参数
    # 日期时间对象通过datetime.datetime.utcnow()函数创建不需要参数
    # 日期时间对象通过datetime.datetime()创建时至少应该包含年月日三个参数
    # 日期时间对象通过datetime.datetime()创建时的参数范围如下
    # {year[1~9999]、month[1~12]、day[1~31]、hour[0~23]、minute[0~59]、second[0~59]、microsecond[1~999999]}
    
    # 通过datetime.datetime.utcnow()创建
    datetime_zero = datetime.datetime.utcnow()
    # 通过datetime.datetime.today()函数创建
    datetime_first = datetime.datetime.today()
    # 通过datetime.datetime.now()创建
    datetime_second = datetime.datetime.now()
    # 通过datetime.datetime()函数指定日期时间、关键字传参创建
    datetime_three = datetime.datetime(year=1, month=1, day=1, hour=0, minute=0, second=0, microsecond=1)
    datetime_four = datetime.datetime(year=9999, month=12, day=31, hour=23, minute=59, second=59, microsecond=999999)
    # 通过datetime.datetime()函数指定日期时间、按位置传参创建,顺序不可变且参数值必须在规定的范围内
    datetime_five = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
    print(datetime_zero, type(datetime_zero))       # 2022-07-09 18:12:43.486469 <class &#39;datetime.datetime&#39;>
    print(datetime_first, type(datetime_first))     # 2022-07-09 18:12:43.486469 <class &#39;datetime.datetime&#39;>
    print(datetime_second, type(datetime_second))   # 2022-07-09 18:12:43.486469 <class &#39;datetime.datetime&#39;>
    print(datetime_three, type(datetime_three))     # 0001-01-01 00:00:00.000001 <class &#39;datetime.datetime&#39;>
    print(datetime_four, type(datetime_four))       # 9999-12-31 23:59:59.999999 <class &#39;datetime.datetime&#39;>
    print(datetime_five, type(datetime_five))       # 9999-12-31 23:59:59.999999 <class &#39;datetime.datetime&#39;>
    # 查看datetime可以处理的最大的日期时间对象及最小的日期时间对象
    print(datetime.datetime.min)        # 0001-01-01 00:00:00
    print(datetime.datetime.max)        # 9999-12-31 23:59:59.999999
    
    """# 从日期时间对象中获取日期属性【年-月-日】"""
    new_time = datetime.datetime.date(datetime_first)
    print(new_time)
    print(type(new_time))
    """# 从日期时间对象中获取时间属性【时:分:秒:微秒】"""
    new_time = datetime.datetime.time(datetime_first)
    print(new_time)
    print(type(new_time))
    """# 从日期时间对象中获取年份"""
    datetime_year = datetime_four.year
    print(datetime_year, type(datetime_year))       # 9999 
    """# 从日期时间对象中获取月份"""
    datetime_month = datetime_four.month
    print(datetime_month, type(datetime_month))       # 12 
    """# 从日期时间对象中获取天"""
    datetime_day = datetime_four.day
    print(datetime_day, type(datetime_day))       # 31 
    """# 从日期时间对象中获取小时"""
    datetime_hour = datetime_four.hour
    print(datetime_hour, type(datetime_hour))       # 23 
    """# 从日期时间对象中获取分钟"""
    datetime_minute = datetime_four.minute
    print(datetime_minute, type(datetime_minute))       # 59 
    """# 从日期时间对象中获取秒数"""
    datetime_second = datetime_four.second
    print(datetime_second, type(datetime_second))       # 59 
    """# 从日期时间对象中获取微秒"""
    datetime_microsecond = datetime_four.microsecond
    print(datetime_microsecond, type(datetime_microsecond))       # 999999 
    """# datetime.datetime.date()函数的参数只能是datetime.datetime类型"""
    date_time = datetime.date(2022, 12, 26)
    """# 传入的参数不能为datetime.date类型"""
    """# TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'datetime.date' object"""
    """# print(datetime.datetime.date(date_time))"""
    time_time = datetime.time(12, 2, 54, 999999)
    """# 传入的参数不能为datetime.time类型"""
    """# TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'datetime.time' object"""
    """# print(datetime.datetime.date(time_time))"""
    """# 同理,datetime.datetime.time()函数传入的参数亦不能为datetime.date类型和datetime.time类型"""
    """# TypeError: descriptor 'time' for 'datetime.datetime' objects doesn't apply to a 'datetime.date' object"""
    """# print(datetime.datetime.time(date_time))"""
    """# TypeError: descriptor 'time' for 'datetime.datetime' objects doesn't apply to a 'datetime.time' object"""
    """# print(datetime.datetime.time(time_time))"""
    # 将日期时间对象转换为时间元组类型
    # 时间元组是指具有 年份、月份、日、小时、分钟、秒数、星期中的第N天、年中的第N天、夏令时标志的一个元组对象
    # 时间元组示例:(tm_year=2022, tm_mon=7, tm_mday=9, tm_hour=19, tm_min=14, tm_sec=27, tm_wday=5, tm_yday=190, tm_isdst=0)
    # 其中tm_wday的值从0开始,范围是:0~6,0为星期一,6为星期日;tm_isdst=0代表未启用夏令时
    UTCDateTime = datetime.datetime(year=2022, month=7, day=10, hour=19, minute=14, second=27, microsecond=1235)
    datetime_UTCTimeTuple = datetime.datetime.utctimetuple(UTCDateTime)
    print(datetime_UTCTimeTuple, type(datetime_UTCTimeTuple))  # 类型为:<class &#39;time.struct_time&#39;>
    # 将日期时间对象转化为公元历开始计数的天数
    datetime_replace = datetime.datetime(year=2022, month=7, day=9, hour=19, minute=14, second=27, microsecond=123)
    datetime_ordinal = datetime.datetime.toordinal(datetime_replace)
    print(datetime_ordinal, type(datetime_ordinal))     # 738345 
    print(datetime.datetime.fromordinal(1))     # 0001-01-02 00:00:00
    print(datetime.datetime.fromordinal(2))     # 0001-01-02 00:00:00
    # ctime()是将日期时间类型转换为一个日期之间值的字符串,示例如 Sat Jul  9 19:14:27 2022(2022年7月9日星期六)
    # ctime()返回值的第一部分的值代表星期几,第二部分的值代表月份,第三部分的值代表日,第四部分的值代表时间,第五部分的值代表年份
    print(datetime_replace)
    ctime_datetime = datetime.datetime.ctime(datetime_replace)
    print(ctime_datetime, type(ctime_datetime))
    
    # 将日期时间对象转换为时间戳
    datetime_timestamp = datetime.datetime.timestamp(datetime_replace)
    print(datetime_timestamp, type(datetime_timestamp))         # 1657365267.000123 
    # 将时间戳转换为日期时间对象
    print(datetime.datetime.fromtimestamp(datetime_timestamp))  # 2022-07-09 19:14:27.000123
    
    # 将日期时间对象转换为时间元组
    datetime_timetuple = datetime.datetime.timetuple(datetime_replace)
    print(datetime_timetuple, type(datetime_timetuple))
    # ISO标准日期时间格式
    print(datetime.datetime.utcoffset(UTCDateTime))
    # 将日期时间对象转换为ISO标准日期时间格式的字符串
    UTC_ISO_DateTime = datetime.datetime.isoformat(UTCDateTime)
    print(UTC_ISO_DateTime, type(UTC_ISO_DateTime))         # 2022-07-10T19:14:27.001235 
    # 将ISO标准日期时间格式的字符串转换为日期时间类型
    From_UTC_ISO_DateTime = datetime.datetime.fromisoformat('9999-12-31T23:59:59.999999')   # 
    print(From_UTC_ISO_DateTime, type(From_UTC_ISO_DateTime))
    # ISO标准的周内第N天
    # 值的范围是[1,7],1代表周一,7代表周日
    UTC_ISO_WeekDateTime = datetime.datetime.isoweekday(UTCDateTime)
    print(UTC_ISO_WeekDateTime, type(UTC_ISO_WeekDateTime))     # 7 
    # ISO标准的日历时间,Calendar中文释义为日历
    # 各个值的含义为(年份、周数、周内的第N天)即(year, week, weekday);
    # weekday的值为[1,7],1代表周一,7代表周日
    # 示例:datetime.IsoCalendarDate(year=2022, week=27, weekday=7)
    UTC_ISO_CalendarDateTime = datetime.datetime.isocalendar(UTCDateTime)
    print(UTC_ISO_CalendarDateTime, type(UTC_ISO_CalendarDateTime))
    # 将ISO标准日历格式的字符串转换为时间日期型
    From_UTC_ISO_CalendarDateTime = datetime.datetime.fromisocalendar(year=2022, week=27, day=7)
    print(From_UTC_ISO_CalendarDateTime)        # 2022-07-10 00:00:00
    print(type(From_UTC_ISO_CalendarDateTime))  # 
    
    # 日期时间替换函数replace()
    # replace()可以只替换日期时间属性的某一项
    # replace()函数的第一个参数必传
    # replace()函数的第一个参数是一个日期时间类型(datetime.datetime)的对象
    # 按关键字传参替换
    # 按位置传参体换
    datetime_replace = datetime.datetime(year=2022, month=7, day=9, hour=19, minute=14, second=27, microsecond=123)
    # 初始值
    print(f"datetime_replace的原值为:{datetime_replace}", f"类型是:{type(datetime_replace)}")
    # 不传参数
    print(datetime.datetime.replace(datetime_replace))    # 2022-07-09 19:14:27.000123
    # 只替换年份
    print(datetime.datetime.replace(datetime_replace, 2019))    # 2019-07-09 19:14:27.000123
    print(datetime.datetime.replace(datetime_replace, year=2019))   # 2019-07-09 19:14:27.000123
    # 只替换月份, 替换其他参数同理
    print(datetime.datetime.replace(datetime_replace, month=12))            # 2022-12-09 19:14:27.000123
    print(datetime.datetime.replace(datetime_replace, datetime_replace.year, 12))   # 2022-12-09 19:14:27.000123
    # 替换其他参数同理
    print(datetime.datetime.replace(datetime_replace, year=2019, month=12, day=31, hour=15,
                                   minute=13, second=15, microsecond=9999))    # 2019-12-31 15:13:15.00999
    # 日期时间对象格式化strftime()
    # 日期时间对象格式化常用的格式如下:
    ""
    %H(两位数的小时)、%M(两位数的分钟)、%S(两位数的秒)、%f(6位数的微秒)、%h(简写的月份名,一般为英文简写)
    %y(两位数的年份)、%Y(四位数的年份)、%m(两位数的月份)、%d(两位数的天数)
    """
    # 可以只格式化部分属性
    datetime_str = datetime.datetime.strftime(datetime_replace, "%Y-%m-%d %H:%M:%S.%f")
    print(f"格式化后是:{datetime_str}", type(datetime_str))      # 2022-07-09 19:14:27.000123 
    # 格式化日期属性
    datetime_str_date = datetime.datetime.strftime(datetime_replace, "%Y-%m-%d")
    print(f"格式化日期的值为:{datetime_str_date}")      # 2022-07-09
    # 格式时间属性
    datetime_str_time = datetime.datetime.strftime(datetime_replace, "%H:%M:%S.%f")
    print(f"格式化时间的值为:{datetime_str_time}")      # 19:14:27.000123
    ```
    登录后复制

    以上是Python之datetime模块怎么使用的详细内容。更多信息请关注PHP中文网其他相关文章!

    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    2 周前 By 尊渡假赌尊渡假赌尊渡假赌
    仓库:如何复兴队友
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island冒险:如何获得巨型种子
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌

    热工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    Linux系统自带Python解释器能删除吗? Linux系统自带Python解释器能删除吗? Apr 02, 2025 am 07:00 AM

    关于Linux系统自带Python解释器的删除问题许多Linux发行版在安装时会预装Python解释器,它并非通过软件包管理器�...

    如何解决Python中自定义装饰器的Pylance类型检测问题? 如何解决Python中自定义装饰器的Pylance类型检测问题? Apr 02, 2025 am 06:42 AM

    使用自定义装饰器时的Pylance类型检测问题解决方法在Python编程中,装饰器是一种强大的工具,可以用于添加行�...

    在Linux终端中使用python --version命令时如何解决权限问题? 在Linux终端中使用python --version命令时如何解决权限问题? Apr 02, 2025 am 06:36 AM

    Linux终端中使用python...

    如何使用Python的httpx库发送HTTP/2 POST请求? 如何使用Python的httpx库发送HTTP/2 POST请求? Apr 01, 2025 pm 11:54 PM

    使用Python的httpx库发送HTTP/2...

    Python 3.6加载pickle文件报错ModuleNotFoundError: No module named '__builtin__'怎么办? Python 3.6加载pickle文件报错ModuleNotFoundError: No module named '__builtin__'怎么办? Apr 02, 2025 am 06:27 AM

    Python3.6环境下加载pickle文件报错:ModuleNotFoundError:Nomodulenamed...

    FastAPI 和 aiohttp 是否共享同一个全局事件循环? FastAPI 和 aiohttp 是否共享同一个全局事件循环? Apr 02, 2025 am 06:12 AM

    Python异步库之间的兼容性问题在Python中,异步编程已经成为处理高并发和I/O...

    Python 3.6加载Pickle文件报错"__builtin__"模块未找到怎么办? Python 3.6加载Pickle文件报错"__builtin__"模块未找到怎么办? Apr 02, 2025 am 07:12 AM

    Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...

    See all articles