设置python time_struct的日,月和年而不更改时间

时间:2013-12-08 14:45:02

标签: python time

如何设置python time_struct的日,月和年而不更改已经存在的时间。

时间由用户指定,并假定为当天的时间。此代码将给定字符串转换为time_struct,但将日期设置为1/1/1900:

from time import strptime
self._alarmTime = strptime(self._frame.txtAlarmTime.text(), '%H:%M:%S')

我现在想用某种today()替换这个1/1/1900。

听起来很简单,但我现在还不知道。

2 个答案:

答案 0 :(得分:2)

您还可以使用datetime模块:

from datetime import datetime

datetime.combine( datetime.today().date(),
                  datetime.strptime('23:46:00', '%H:%M:%S').time()
                )

答案 1 :(得分:1)

struct_time(由time.strptime / time.localtime返回)的行为类似于元组。所以你可以这样做:

>>> alarm_time = time.strptime('23:46:00', '%H:%M:%S')
>>> today = time.localtime()
>>> time.struct_time(today[:3] + alarm_time[3:])
time.struct_time(tm_year=2013, tm_mon=12, tm_mday=8,
                 tm_hour=23, tm_min=46, tm_sec=0, tm_wday=0,
                 tm_yday=1, tm_isdst=-1)