关于robotframework:如何在Python中将日期时间格式从’2017-10-25 15:24:38’转换为’2017年10月25日03:24 pm’

How to convert date time format from '2017-10-25 15:24:38' to '25 Oct 2017 03:24 pm' in Python

有没有python库可以让我转换日期时间格式'2017-10-25 15:24:38'至'2017年10月25日03:24 PM'

在node.js中有一个名为moments.js的库可以实现这一点。有没有用python来实现的方法?

P.S.我正在使用机器人框架


您可以使用:

1
2
3
from datetime import datetime
datetime_object = datetime.strptime('2017-10-25 15:24:38', '%Y-%m-%d %H:%M:%S')
datetime_string = datetime_object.strftime('%d %b %Y %I:%M %p')

编辑:如果您希望AM/PM为小写:

1
2
3
dt_s = datetime_object.strftime('%d %b %Y %I:%M')
dt_s_ampm = datetime_object.strftime('%p').lower()
final_dt = dt_s + ' ' + dt_s_ampm


在robot框架中,有一个标准的库日期时间可以在这里使用。关键字Convert Date可用于将标准日期时间字符串转换为其他格式。python命令strftime()文档使用的格式也适用于这里。

在以下机器人代码中,执行格式化:

1
2
3
4
5
6
*** Settings ***
Library    DateTime    

*** Test Cases ***
TC
    ${date}    Convert Date    2017-10-25 15:24:38    result_format=%d %b %Y %I:%M %p

其结果如下:

1
${date} = 25 Oct 2017 03:24 PM


如何在python中分析和转换时间格式:

1
>>> datetime(*strptime(s,"%Y-%m-%dT%H:%M:%S+0000")[0:6]).strftime("%B %d, %Y %I:%M %p")

'2013年7月16日下午4:14'

阅读有关分析和转换过程的详细信息:https://docs.python.org/2/library/datetime.html