[英]How to convert string 2021-09-30_1 to datetime
How can I convert string 2021-09-30_1 to datetime 2021/09/30 00:00, which means that from the last string we have to substract one to get the hour.如何将字符串 2021-09-30_1 转换为日期时间 2021/09/30 00:00,这意味着我们必须从最后一个字符串中减去一个以获得小时。
I tried datetime.strptime(date, '%Y %d %Y %I')
我试过datetime.strptime(date, '%Y %d %Y %I')
datetime.strptime
if to define the timestamp from a string, the format should match the provided one. datetime.strptime
如果要从字符串定义时间戳,则格式应与提供的格式匹配。 datetime.strftime
(note the f ) is to generate a string from a datetime object. datetime.strftime
(注意f )是从 datetime 对象生成一个字符串。 You can use:您可以使用:
datetime.strptime(date, '%Y-%m-%d_%H').strftime('%Y/%m/%d %H:%M')
output: '2021/09/30 01:00'
输出: '2021/09/30 01:00'
_x
defines a delta:如果_x
定义了一个增量:from datetime import datetime, timedelta
d, h = date.split('_')
d = datetime.strptime(d, '%Y-%m-%d')
h = timedelta(hours=int(h))
(d-h).strftime('%Y/%m/%d %H:%M')
output: '2021/09/29 23:00'
输出: '2021/09/29 23:00'
Considering the _1
is hour and appears in al of your data (The hour part takes value between [1, 24]), your format was wrong.考虑到_1
是小时并出现在您的所有数据中(小时部分取 [1, 24] 之间的值),您的格式是错误的。
For reading the date from string you'll need format it correctly:要从字符串中读取日期,您需要正确格式化它:
from datetime import datetime, timedelta
date = "2021-09-30_1"
date_part, hour_part = date.split("_")
date_object = datetime.strptime(date_part, '%Y-%m-%d') + timedelta(hours=int(hour_part) - 1)
Now you have the date object.现在你有了日期对象。 And you can display it as:您可以将其显示为:
print(date_object.strftime('%Y/%m/%d %H:%M'))
from datetime import datetime
raw_date = "2021-09-30_1"
date = raw_date.split("_")[0]
parsed_date = datetime.strptime(date, '%Y-%m-%d')
formated_date = parsed_date.strftime('%Y/%m/%d %H:%M')
strptime is used for parsing string and strftime for formating. strptime用于解析字符串, strftime用于格式化。
Also for date representation you should provide format codes for hours and minutes as in:同样对于日期表示,您应该提供小时和分钟的格式代码,如下所示:
formated_date = parsed_date.strftime('%Y/%m/%d %H:%M')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.