在Python编程中,我们常常需要将日期转换为指定格式的字符串,这时候我们就可以使用datetime模块中的strftime()函数了。
一、日期格式化字符串
strftime()函数可以将日期格式化为我们想要的字符串格式。在使用它之前,我们需要先了解Python中日期格式化的字符串。
下表列出了Python中日期格式化字符串的常用符号:
符号 | 含义 | 示例 |
---|---|---|
%Y | 年份,四位数字 | 2021 |
%m | 月份,两位数字 | 09 |
%d | 日期,两位数字 | 01 |
%H | 小时,24小时制,两位数字 | 14 |
%M | 分钟,两位数字 | 30 |
%S | 秒数,两位数字 | 00 |
%a | 星期几,简写 | Mon |
%A | 星期几,完整名称 | Monday |
%b | 月份,简写 | Sep |
%B | 月份,完整名称 | September |
二、strftime()函数的使用
strftime()函数的语法如下:
datetime.datetime.strftime(format)
其中,datetime是日期时间对象;format是日期格式化字符串。
下面是一个简单的例子,将当前日期格式化成"年-月-日 时:分:秒"的形式:
import datetime now = datetime.datetime.now() formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") print("当前时间为:", formatted_date)
输出结果如下:
当前时间为: 2021-09-01 14:30:00
三、常见日期格式化实例
1. 将时间戳转换为指定格式的日期字符串
假设我们有一个时间戳,它表示从1970年1月1日到现在的秒数,我们需要将它转换成"年-月-日 时:分:秒"的形式的字符串。
import datetime timestamp = 1630517817 formatted_date = datetime.datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S") print("时间戳对应日期为:", formatted_date)
输出结果如下:
时间戳对应日期为: 2021-09-02 11:50:17
2. 将日期字符串转换为日期对象
如果我们有一个日期字符串,需要将它转换成日期对象,以便进行比较或计算。可以使用datetime.datetime.strptime函数。
import datetime date_str = "2021-09-01 14:30:00" date_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S") print("日期对象为:", date_obj)
输出结果如下:
日期对象为: 2021-09-01 14:30:00
3. 将日期对象转换为unix时间戳
在Python中,我们也可以将日期对象转换为unix时间戳。可以使用datetime.datetime.timestamp()函数。
import datetime date_obj = datetime.datetime(2021, 9, 1, 14, 30, 0) timestamp = date_obj.timestamp() print("unix时间戳为:", timestamp)
输出结果如下:
unix时间戳为: 1630493400.0
四、总结
strftime()函数是Python中日期格式化的重要函数之一,它可以将日期格式化成我们想要的指定格式的字符串。在使用时,我们需要注意日期格式化字符串的格式和常用符号,以便正确地转换日期格式。