时间转换为路径文件
Time conversion to a path file
我有一个按时间命名的路径文件(201803061500)等。我需要的是时间转换,因为我使用while
循环打开其中几个我想要的时候出错例如 (...1555 到 ... 1615) 和 Python 的文件看到一个明显的问题,因为 1555 之后是 1560,但我希望他将其转换为时间,所以在 (...1555 之后将是 . .. 1600) 有什么使用方法吗?
顺便说一句。时间转换必须包含 4 位数字,因此它不能是 16:00/16-00 等。它必须是 1600,因为它作为我的路径文件的输入。有什么想法吗?
更新 - 我这样做了,但是这段代码很垃圾,我认为我的问题可能会通过一个命令解决。
Start_time_hours = input('Enter start time (hh): ' )
Start_time_minutes = input('Enter start time (mm): ')
if Start_time_hours >= 24:
print ("Values from 00 to 23 only!")
if Start_time_minutes >= 60:
x = Start_time_hours + 1
y = Start_time_minutes - Start_time_minutes
if y == 0:
print "Ok"
print x, y
if Start_time_minutes <= 55:
print Start_time_hours, Start_time_minutes
处理未格式化时间的一种简单方法是 datetime
。你可以先去掉你的弦,然后做任何你想做的事情!
from datetime import datetime, timedelta
from time import strtime
datetime_object = datetime.strptime(file_name, '%Y%m%d%H%M')
print(datetime_object) # returns '2018-03-06 15:00:00'
delta = timedelta(minutes=5)
next_time = datetime_object + delta
print(next_time) # returns '2018-03-06 15:05:00'
最后,您可以使用 time.strftime()
函数
取回您的字符串
new_string = next_time.strftime('%Y%m%d%H%M')
print(new_string) # returns '201803061505'
来源datetime
:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
来源 time
:https://docs.python.org/2/library/time.html
Start_time_hours += (Start_time_minutes / 60)
Start_time_minutes %= 60
Start_time_minutes += 5
那三行解决了我的问题,datetime
也可以,但是如果你把这些变量放到 input
路径文件中,你会得到一个错误。这就是我选择此解决方案的原因。
我有一个按时间命名的路径文件(201803061500)等。我需要的是时间转换,因为我使用while
循环打开其中几个我想要的时候出错例如 (...1555 到 ... 1615) 和 Python 的文件看到一个明显的问题,因为 1555 之后是 1560,但我希望他将其转换为时间,所以在 (...1555 之后将是 . .. 1600) 有什么使用方法吗?
顺便说一句。时间转换必须包含 4 位数字,因此它不能是 16:00/16-00 等。它必须是 1600,因为它作为我的路径文件的输入。有什么想法吗?
更新 - 我这样做了,但是这段代码很垃圾,我认为我的问题可能会通过一个命令解决。
Start_time_hours = input('Enter start time (hh): ' )
Start_time_minutes = input('Enter start time (mm): ')
if Start_time_hours >= 24:
print ("Values from 00 to 23 only!")
if Start_time_minutes >= 60:
x = Start_time_hours + 1
y = Start_time_minutes - Start_time_minutes
if y == 0:
print "Ok"
print x, y
if Start_time_minutes <= 55:
print Start_time_hours, Start_time_minutes
处理未格式化时间的一种简单方法是 datetime
。你可以先去掉你的弦,然后做任何你想做的事情!
from datetime import datetime, timedelta
from time import strtime
datetime_object = datetime.strptime(file_name, '%Y%m%d%H%M')
print(datetime_object) # returns '2018-03-06 15:00:00'
delta = timedelta(minutes=5)
next_time = datetime_object + delta
print(next_time) # returns '2018-03-06 15:05:00'
最后,您可以使用 time.strftime()
函数
new_string = next_time.strftime('%Y%m%d%H%M')
print(new_string) # returns '201803061505'
来源datetime
:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
来源 time
:https://docs.python.org/2/library/time.html
Start_time_hours += (Start_time_minutes / 60)
Start_time_minutes %= 60
Start_time_minutes += 5
那三行解决了我的问题,datetime
也可以,但是如果你把这些变量放到 input
路径文件中,你会得到一个错误。这就是我选择此解决方案的原因。