Python 字符串与日期的转换

在程序开发中,经常把日期类型转换为字符类型使用。字符串与日期的转换时工作中频繁遇到的问题。Python提供了time模块处理日期和时间。

1. 从时间到字符串的转换

time模块中的函数strftime()可以实现从时间字符串的转换。strftime()的声明如下所示:
strftime(format[, tuple]) -> string

  1. 参数format表示格式化日期的特殊字符。例如,"%Y-%m%d"。
  2. 参数tuple表示要转换的时间,用元祖存储。元组中的元素分别表示年、月、日、时、分、秒。
  3. 函数返回一个一个表示时间的字符串。

参数format格式化日期的常用标记如下表所示:
格式化日期的常用标记

符号说明
%a英文星期的简写
%A英文星期的完整拼写
%b英文月份的简写
%B英文月份的完整拼写
%c显示本地的日期和时间
%d日期数,取值在1~31之间
%H小时数,取值在00~23之间
%I小时数,取值01~12之间
%m月份,取值01~12之间
%M分钟数,取值在01~59之间
%j显示从本年第1天开始到当天的天数
%w显示今天是星期几,0表示星期天
%W显示当天属于本年的第几周,星期一作为一周的第一天进行计算
%x本地的当天日期
%X本地的当天时间
%y年份,取值在0~99之间
%Y年份完整拼写

2. 字符串到时间的转换

字符串到水煎的转换需要进行两次转换,需要使用time模块和datetime类,转换过程分为如下3个步骤。

  1. 调用函数strptime()把字符串换砖为一个元祖,进行第一次转换。strptime()的声明如下所示:
	strptime(string, format)   ->struct_time
(1) 参数string表示需要转换的字符串。
(2) 参数format表示日期要转换的输出格式。
(3) 函数返回一个存放时间的元祖。
  1. 把表示时间的元祖赋值给表示年、月、日的3个变量。
  2. 把表示年、月、日的3个变量传递给datetime(),进行第二次转换。datetime类的datetime()函数如下所示:
datetime(year, month, day[,hour[,minute[,second[,microsecond[,tzinfo]]]]])
(1) 参数year、month、day分别表示年、月、日,这3个参数必不可少。
(2)函数返回一个datetime类型的变量。
import time, datetime

#时间到字符串的转换
print(time.strftime("%Y-%m-%d %X", time.locatime())
#字符串到时间的转换
t = time.strptime("2008-08-08", "%Y-%m-%d")
y,m,d = [0:3]
print(datetime.datetime(y,m,d)
第4行代码,函数localtime()返回当前时间(例如,2008-02-14 13:52:11),strftime把当前的时间格式化为字符串类型。输出结果:2008-02-14 13:52:11。
第6行代码,把字符串 "2008-08-08" 转换为一个元组返回。
第7行代码,把元组中前3个表示年、月、日的元素赋值给3个变量。
第8行代码,调用datetime()返回时间类型。输出结果:2008-08-08 00:00:00。

注意:格式化日期的特殊标记是区分大小写的,%Y与%y并不相同的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值