Jur*_*ocs 135 python datetime string-formatting
我希望datetime从日期开始有一个字符串,以毫秒为单位.这段代码对我来说很典型,我很想学会如何缩短它.
from datetime import datetime
timeformatted= str(datetime.utcnow())
semiformatted= timeformatted.replace("-","")
almostformatted= semiformatted.replace(":","")
formatted=almostformatted.replace(".","")
withspacegoaway=formatted.replace(" ","")
formattedstripped=withspacegoaway.strip()
print formattedstripped
Run Code Online (Sandbox Code Playgroud)
Jer*_*itz 296
要获取具有毫秒(秒后3位小数)的日期字符串,请使用以下命令:
from datetime import datetime
print datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]
>>>> OUTPUT >>>>
2020-05-04 10:18:32.926
Run Code Online (Sandbox Code Playgroud)
小智 27
使用Python 3.6,您可以使用:
from datetime import datetime
datetime.utcnow().isoformat(sep=' ', timespec='milliseconds')
Run Code Online (Sandbox Code Playgroud)
输出:
'2019-05-10 09:08:53.155'
Run Code Online (Sandbox Code Playgroud)
此处提供更多信息:https : //docs.python.org/3/library/datetime.html#datetime.datetime.isoformat
kni*_*tti 19
print datetime.utcnow().strftime('%Y%m%d%H%M%S%f')
Run Code Online (Sandbox Code Playgroud)
http://docs.python.org/library/datetime.html#strftime-strptime-behavior
Sam*_*ins 14
@Cabbi提出了一些问题,在某些系统上,微秒格式%f可能会给出"0",所以简单地删除最后三个字符是不可移植的.
以下代码使用毫秒仔细格式化时间戳:
from datetime import datetime
(dt, micro) = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f').split('.')
dt = "%s.%03d" % (dt, int(micro) / 1000)
print dt
Run Code Online (Sandbox Code Playgroud)
示例输出:
2016-02-26 04:37:53.133
Run Code Online (Sandbox Code Playgroud)
为了获得OP想要的确切输出,我们必须删除标点字符:
from datetime import datetime
(dt, micro) = datetime.utcnow().strftime('%Y%m%d%H%M%S.%f').split('.')
dt = "%s%03d" % (dt, int(micro) / 1000)
print dt
Run Code Online (Sandbox Code Playgroud)
示例输出:
20160226043839901
Run Code Online (Sandbox Code Playgroud)
小智 7
大概是这样的:
import datetime
now = datetime.datetime.now()
now.strftime('%Y/%m/%d %H:%M:%S.%f')[:-3]
# [:-3] => Removing the 3 last characters as %f is for microsecs.
Run Code Online (Sandbox Code Playgroud)
import datetime
# convert string into date time format.
str_date = '2016-10-06 15:14:54.322989'
d_date = datetime.datetime.strptime(str_date , '%Y-%m-%d %H:%M:%S.%f')
print(d_date)
print(type(d_date)) # check d_date type.
# convert date time to regular format.
reg_format_date = d_date.strftime("%d %B %Y %I:%M:%S %p")
print(reg_format_date)
# some other date formats.
reg_format_date = d_date.strftime("%Y-%m-%d %I:%M:%S %p")
print(reg_format_date)
reg_format_date = d_date.strftime("%Y-%m-%d %H:%M:%S")
print(reg_format_date)
Run Code Online (Sandbox Code Playgroud)
<<<<<< 输出>>>>>>
2016-10-06 15:14:54.322989
<class 'datetime.datetime'>
06 October 2016 03:14:54 PM
2016-10-06 03:14:54 PM
2016-10-06 15:14:54
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
269756 次 |
| 最近记录: |