使用python:如何将给定的UT时间转换为LST时间,以便该功能在24小时检查后自动递增

时间:2019-05-28 10:32:39

标签: python

我想将给定的世界时(UT)转换为本地时间(LT)。这样,该功能会在检查24小时后自动增加一天。我尝试了各种代码。我成功转换了时间,但无法在循环中将其增加一定的持续时间。

2 个答案:

答案 0 :(得分:0)

尝试以下代码:

>>> from datetime import datetime
>>> import pytz
>>> dt = datetime.utcnow()
>>> dt.astimezone(pytz.timezone('Europe/Paris'))
datetime.datetime(2019, 5, 28, 4, 44, 12, 778393, tzinfo=<DstTzInfo 'Europe/Paris' CEST+2:00:00 DST>)
>>> print(dt.astimezone(pytz.timezone('Europe/Paris')))
2019-05-28 04:44:12.778393+02:00
>>> 

答案 1 :(得分:0)

  
    
      

我是python编码的新手,我尝试了以下代码将给定的世界时(UT)转换为可以正常工作的本地时间(LT)。但是我想在从开始LT时间到结束LT时间的循环中以指定的持续时间浮点数(例如1.036秒)增加日期和时间。这样的一天会在24小时后增加。

    
  
>>>startutc= '2019-03-25 14:26:18' # Start UTC in String format
>>>endutc= '2019-03-26 14:26:18'   # End UTC in String format
>>>utc_fmt = '%Y-%m-%d %H:%M:%S'
>>>local_fmt = '%Y-%m-%d %H:%M:%S'
>>>local_string1 = utc_str_to_local_str(startutc, utc_fmt, local_fmt)
>>>local_string2 = utc_str_to_local_str(endutc, utc_fmt, local_fmt)
>>>ls1=datetime.strptime(local_string1, '%Y-%m-%d %H:%M:%S') 
>>>ls2=datetime.strptime(local_string2, '%Y-%m-%d %H:%M:%S')
>>>t2= np.array([ls1+timedelta(seconds=i) for i in range(0,scans)]) 
>>>t = date2num(t2)

Using function I found somewhere on stack overflow:
>>>def utc_str_to_local_str(utc_str: str, utc_format: str, local_format: str):
"""
>>>:param utc_str: UTC time string
>>>:param utc_format: format of UTC time string
>>>:param local_format: format of local time string
>>>:return: local time string
>>>"""
>>>temp1 = datetime.strptime(utc_str, utc_format)
>>>temp2 = temp1.replace(tzinfo=timezone.utc)
>>>local_time = temp2.astimezone()
>>>return local_time.strftime(local_format)