python中的datetime

本文详细介绍了Python中datetime模块的使用方法,包括date、time、datetime和timedelta类的创建及常用方法,如now、date、time、weekday等,同时讲解了如何进行时间字符串的转换和时间戳的处理。

datetime

前言

datetime是python中的又一时间日期模块.

使用

datetime中常用的类

  • datetime.date 日期类
  • datetime.time 时间类
  • datetime.datetime 时间日期类
  • datetime.timedeita 时间日期delta类

datetime.date

# datetime.date(year, month, day)
>>> d = datetime.date(2018, 10, 7)
>>> print(type(d), d)
<class 'datetime.date'> 2018-10-07

datetime.time

# datetime.time(hour, minute, second, mircosecond)
>>> d = datetime.time(12, 16, 30)
>>> print(type(d), d)
<class 'datetime.time'> 12:16:30

datetime.datetime

# datetime.datetime(year, month, day, hour, minute, second, mircosecond)
>>> d = datetime.datetime(2018, 10, 7, 12, 19, 30)
>>> print(type(d), d)
<class 'datetime.datetime'> 2018-10-07 12:19:30

datetime.timedelta

# datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
>>> d = datetime.timedelta(hours=5, weeks=2)
>>> print(type(d), d)
<class 'datetime.timedelta'> 14 days, 5:00:00

datetime.datetime类中常用方法

  • now() 返回当前时间日期的datetime对象.
    • date() 日期部分
    • time() 时间部分
    • hour
    • minute
    • second
    • year
    • month
    • day
    • weekday
    • isoweekday
    • iscalendar
  • utcnow() 返回当前UTC时间日期的datetime对象.
  • strptime() 将时间字符串转换通过规则转换为datetime对象.
  • strftime() 与strptime相反.
  • fromtimestamp() 将时间戳转换为datetime对象.

### Python `datetime` 模块使用教程 #### 创建日期和时间对象 可以利用 `datetime.date()` 来创建一个只包含日期的对象,通过指定年份、月份和日子来初始化。 ```python from datetime import date d = date(2023, 4, 18) print(d) # 输出: 2023-04-18 ``` 对于同时含有时间和日期的情况,则会用到 `datetime.datetime()` 函数[^2]。 ```python from datetime import datetime dt = datetime(2023, 4, 18, 15, 30, 0) print(dt) # 输出: 2023-04-18 15:30:00 ``` #### 获取当前本地日期与时间 如果想要获取计算机当前的时间信息,可以直接调用 `now()` 方法获得带有时间部分的信息;或者使用 `today()` 方法仅得到当天的日历日期。 ```python current_datetime = datetime.now() print(current_datetime) current_date_only = date.today() print(current_date_only) ``` #### 时间间隔操作 当涉及到两个时刻之间差距的计算时,应该借助于 `timedelta` 类型来进行加减运算。这使得能够轻松完成诸如“三天前是什么时候?”这样的问题解答。 ```python from datetime import timedelta three_days_ago = current_datetime - timedelta(days=3) print(three_days_ago) ``` #### 处理不同时区的数据 虽然基础版本中的 `timezone` 可以满足简单的UTC偏移需求,但对于更复杂的场景建议引入第三方库pytz来管理全球各个地区的具体时区设置[^3]。 ```python import pytz from datetime import datetime utc_now = datetime.utcnow().replace(tzinfo=pytz.UTC) local_tz = pytz.timezone('Asia/Shanghai') local_time = utc_now.astimezone(local_tz) print(local_time) ``` #### 转换为时间戳 有时候可能需要将以人类可读形式呈现出来的日期转换成机器更容易理解的形式——即自纪元以来经历过的秒数(浮点数)。这时就可以运用 `.timestamp()` 方法[^4]。 ```python ts = dt.timestamp() print(ts) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值