如何解决将时间格式从2020年2月5日01:55 pm转换为2020-02-05 13:55:00
转换此日期时间格式的最佳方法是什么?
Feb 05 2020 09:26 am
Feb 05 2020 01:55 pm
进入
2020-02-05 09:26:00
2020-02-05 13:55:00
我知道我可以使用sed在更改为2020-02-05格式的当天进行迭代。 我可以使用:
echo "01:55 pm" | sed -e 's/01:\([0-9]\+\) pm/13:\1:00/g'
遍历文件不同时间。
这是处理它的最佳方法吗? 我开始使用python或其他方法,如果它更干净的话。
解决方法
使用内置函数将字符串解析为日期时间对象:
MaterialApp(
home: homePage(),theme: homePage().getTheme(context),routes: routes,)
将打印
from datetime import datetime
s = 'Feb 05 2020 09:26 am'
d = datetime.strptime(s,'%b %d %Y %I:%M %p')
print(d)
print(type(d))
,
您可以尝试按照显示的示例进行以下操作,编写和测试吗?
import cupy as cp
hori_avg = [0]*100
buffer_size = 10
width = 100
a = cp.zeros((buffer_size,width))
new_frame = cp.ones(100)*3
a = a[1:,:] #delete first row
a = cp.stack((a,new_frame),axis=0) #append new row,but not working
说明: 添加上述解决方案的详细说明。
awk '
BEGIN{
FS="[ :]"
num=split("jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec",arr,",")
for(i=1;i<=num;i++){
month[arr[i]]=i
}
}
{
printf("%d-%02d-%02d %02d:%02d:00\n",$3,month[tolower($1)],$2,$(NF-2)+$NF=="pm" && $(NF-2)<12 ? 12 : 0 ),$(NF-1))
}' Input_file
,
您可以在awk ' ##Starting awk program from here.
BEGIN{ ##Starting BEGIN section of this program from here.
FS="[ :]" ##Setting field separator as space and colon here.
num=split("jan,") ##Creating array arr which has all months names in it.
for(i=1;i<=num;i++){ ##Starting for loop from 1 to till value of arr length here.
month[arr[i]]=i ##Creating month array with index of value of arr with index i and its value is variable i.
}
}
{
printf("%d-%02d-%02d %02d:%02d:00\n",$(NF-2)+($NF=="pm" && $(NF-2)<12 ? 12 : 0 ),$(NF-1)) ##Printing 3rd field,month value with first field as index,2nd field,2nd last field and adding 12 if last field is pm else do not add anything.
}'
中使用转换功能(请参见format codes):
datetime
礼物:
import datetime
in_format = '%b %d %Y %I:%M %p'
out_format = '%Y-%m-%d %H:%M:%S'
value = 'Feb 05 2020 01:55 pm'
print(datetime.datetime.strptime(value,in_format).strftime(out_format))
,
例如,您必须使用模块datetime
和函数strptime
。
您应该检查Python参考资料中的strptime:
classmethod
datetime.strptime(date_string,format)
返回与date_string相对应的日期时间,并根据格式进行解析。
from datetime import datetime
str1 = 'Feb 05 2020 09:26 am'
str2 = 'Feb 05 2020 01:55 pm'
date_1 = datetime.strptime(str1,"%b %d %Y %I:%M %p")
date_2 = datetime.strptime(str2,"%b %d %Y %I:%M %p")
print("date =",date_1)
print("date =",date_2)
结果:
date = 2020-02-05 09:26:00
date = 2020-02-05 13:55:00
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。