一、基础格式化
Python中常用的日期格式化字符串如下:
%Y 年份,4位数字 %m 月份,1-12 %d 日期,1-31 %H 小时,24小时制,0-23 %M 分钟,0-59 %S 秒数,0-59
如要将日期格式化为字符串:
import datetime
today = datetime.datetime.today()
formatted = today.strftime('%Y-%m-%d %H:%M:%S')
print(formatted)
输出:2022-07-12 17:26:40
使用datetime.datetime.strptime()方法将字符串转为datetime对象:
datetime_str = '2022-07-12 17:26:40' datetime_obj = datetime.datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S') print(datetime_obj)
输出:2022-07-12 17:26:40
二、日期加减
使用datetime.timedelta()函数可以对日期加减。
import datetime
today = datetime.datetime.today()
delta = datetime.timedelta(days=3)
new_date = today + delta
formatted = new_date.strftime('%Y-%m-%d %H:%M:%S')
print(formatted)
输出:2022-07-15 17:26:40
三、本地化
Python中有个locale模块,可以用于本地化日期。
import datetime
import locale
today = datetime.datetime.today()
locale.setlocale(locale.LC_ALL, 'en_US')
formatted = today.strftime('%A, %B %d, %Y')
print(formatted)
输出:Tuesday, July 12, 2022
四、时区
使用pytz模块可以对日期进行时区转换。
import datetime
import pytz
today = datetime.datetime.now(tz=pytz.UTC)
pst_tz = pytz.timezone('America/Los_Angeles')
pst_time = today.astimezone(pst_tz)
formatted = pst_time.strftime('%Y-%m-%d %H:%M:%S %Z%z')
print(formatted)
输出:2022-07-12 10:26:40 PDT-0700
五、时间戳
使用time模块的time()函数可以获取当前时间戳,使用datetime.datetime.fromtimestamp()函数可以将时间戳转换为datetime对象。
import datetime
import time
timestamp = time.time()
datetime_obj = datetime.datetime.fromtimestamp(timestamp)
formatted = datetime_obj.strftime('%Y-%m-%d %H:%M:%S')
print(formatted)
输出:2022-07-12 17:26:40
六、strftime格式化字符列表
| %a | 星期几的简写 | Wed |
| %A | 星期几的全称 | Wednesday |
| %b | 月份的简写 | Jan |
| %B | 月份的全称 | January |
| %c | 本地日期时间表示 | Mon Jul 12 17:26:40 2022 |
| %d | 月份中的日期(01-31) | 31 |
| %H | 24小时制小时数(00-23) | 23 |
| %I | 12小时制小时数(01-12) | 11 |
| %j | 一年中的第几天(001-366) | 365 |
| %m | 月份数字(01-12) | 12 |
| %M | 分钟数(00-59) | 59 |
| %p | AM/PM | PM |
| %S | 秒数(00-61) | 59 |
| %U | 一年中的第几周(00-53),星期日为一周的第一天 | 52 |
| %w | 一周中的第几天,星期日为0 | 0 |
| %W | 一年中的第几周(00-53),星期一为一周的第一天 | 52 |
| %x | 本地日期表示 | 07/12/22 |
| %X | 本地时间表示 | 17:26:40 |
| %y | 2位数字的年份 | 22 |
| %Y | 4位数字的年份 | 2022 |
| %z | UTC偏移量 | +0800 |
| %Z | 时区 | CST |
原创文章,作者:ZDYAH,如若转载,请注明出处:https://www.506064.com/n/369054.html
微信扫一扫
支付宝扫一扫