Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python time.ctime()格式:0填充或空格填充_Python_Python 2.7_Time_Formatting_Ctime - Fatal编程技术网

Python time.ctime()格式:0填充或空格填充

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) { …

两台不同的计算机(相同的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)
{
    …

    return PyUnicode_FromFormat("%s %s%3d %.2d:%.2d:%.2d %d", …
换句话说:上述版本的Python在月份后面生成一个三个字符的数字,没有任何零。所以它要么是
dec9
要么是
dec10

我无法找到一个不同的版本,但您使用的其中一个版本可能会执行类似于
%s%02d…
的操作,即放置一个显式空格和两位数的日期

更新:通过返回“责备链”,我可以找到哪个确实调用了libc
asctime()
函数。到那时为止,该函数确实依赖于操作系统


根据2011-01-04的版本可以访问相关变更集,据我所知,已将其后移植到v2.7.4。如果您的版本早于此,这就说明了一些问题。

我肯定它们都是2.7.13是。win 8和win server 2012。但另一台服务器12也返回了与我的server 2012不同的格式。我将重试实际上,安装python。我还没有在第二台服务器上运行sys版本,将检查它。Thanx。@KatyaDenef这会有什么不同?