Python time.ctime()格式:0填充或空格填充
两台不同的计算机(相同的python版本)为Python time.ctime()格式:0填充或空格填充,python,python-2.7,time,formatting,ctime,Python,Python 2.7,Time,Formatting,Ctime,两台不同的计算机(相同的python版本)为time.ctime()返回不同的格式。返回 "Sun May 6 14:04:28 2018" 月日前有2个空间;其他人回来了 "Sun May 06 14:04:28 2018" 有一个空格和一个零。我觉得它是由OS或C库决定的。有人知道这取决于什么吗 注意:我知道如何在代码中修复它,我正在寻找这种行为的根本原因。包含相关代码: static PyObject * _asctime(struct tm *timeptr) { …
time.ctime()
返回不同的格式。返回
"Sun May 6 14:04:28 2018"
月日前有2个空间;其他人回来了
"Sun May 06 14:04:28 2018"
有一个空格和一个零。我觉得它是由OS或C库决定的。有人知道这取决于什么吗
注意:我知道如何在代码中修复它,我正在寻找这种行为的根本原因。包含相关代码:
static PyObject *
_asctime(struct tm *timeptr)
{
…
return PyUnicode_FromFormat("%s %s%3d %.2d:%.2d:%.2d %d", …
换句话说:上述版本的Python在月份后面生成一个三个字符的数字,没有任何零。所以它要么是dec9
要么是dec10
我无法找到一个不同的版本,但您使用的其中一个版本可能会执行类似于%s%02d…
的操作,即放置一个显式空格和两位数的日期
更新:通过返回“责备链”,我可以找到哪个确实调用了libcasctime()
函数。到那时为止,该函数确实依赖于操作系统
根据2011-01-04的版本可以访问相关变更集,据我所知,已将其后移植到v2.7.4。如果您的版本早于此,这就说明了一些问题。我肯定它们都是2.7.13是。win 8和win server 2012。但另一台服务器12也返回了与我的server 2012不同的格式。我将重试实际上,安装python。我还没有在第二台服务器上运行sys版本,将检查它。Thanx。@KatyaDenef这会有什么不同?