Python datetime模块:时间、日期与时间戳转换指南

需积分: 1 0 下载量 48 浏览量 更新于2024-08-03 收藏 112KB PDF 举报
在Python编程语言中,`datetime`模块是处理日期和时间的核心工具。这个模块提供了丰富的功能,包括日期的创建、操作、格式化以及时间戳的转换。以下是对标题和描述中涉及知识点的详细说明: 1. 引入模块: 在Python中,我们需要先导入相应的模块才能使用其提供的功能。对于日期和时间的处理,我们需要导入`datetime`模块。此外,如果涉及到时间戳的转换,可能还需要导入`time`模块。示例代码如下: ```python import datetime import time ``` 2. 字符类型的日期转换为时间戳: 当我们有一个字符串形式的日期,如"2013-10-10 23:40:00",我们可以使用`time.strptime()`函数将其转换为结构化时间对象(struct_time),然后通过`time.mktime()`函数将这个对象转换为Unix时间戳(以秒为单位)。这里是一个例子: ```python tss1 = '2013-10-10 23:40:00' timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") timeStamp = int(time.mktime(timeArray)) print(timeStamp) # 输出:1381419600 ``` 3. 更改日期的显示格式: `time.strftime()`函数用于将结构化时间对象转换为特定格式的字符串。例如,可以将"2013-10-10 23:40:00"转换为"2013/10/10 23:40:00": ```python tss2 = "2013-10-10 23:40:00" timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S") otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray) print(otherStyleTime) # 输出:2013/10/10 23:40:00 ``` 4. 时间戳转换为指定格式的日期: 反向操作,我们可以将时间戳转换回日期字符串。使用`time.localtime()`函数将时间戳转换为struct_time对象,然后通过`time.strftime()`将其格式化: ```python timeStamp = 1381419600 timeArray = time.localtime(timeStamp) otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray) print(otherStyleTime) # 输出:2013--10--10 23:40:00 ``` 5. `datetime`模块中的类和方法: - `datetime.datetime()`:创建一个日期和时间对象。 - `.date()`:从datetime对象中提取日期部分。 - `.time()`:从datetime对象中提取时间部分。 - `.timetz()`:获取带时区的datetime对象。 - `.timestamp()`:将datetime对象转换为浮点数形式的时间戳(以秒为单位,精确到纳秒)。 - `.replace()`:创建一个新的datetime对象,但允许替换指定的日期或时间部分。 - `.astimezone()`:将datetime对象转换为指定时区的时间。 6. 日期运算: `datetime`对象支持各种算术运算,如加减天数、小时数等,这使得日期和时间的计算变得非常方便。 7. 格式化代码: `%Y`代表四位数的年份,`%m`代表月份(01-12),`%d`代表日期(01-31),`%H`代表小时(24小时制,00-23),`%M`代表分钟(00-59),`%S`代表秒(00-59)。 通过这些功能,我们可以轻松地在日期、时间、时间戳之间进行转换,并按照所需的格式进行输出。理解并熟练运用`datetime`模块,对处理与日期和时间相关的编程任务至关重要。