2013-07-13 26 views
2

我剛剛發佈了一個關於Google Drive日期格式的問題,我實際上找到了解決方案。實質上,Google雲端硬盤文檔聲明它需要以RFC 3339格式指定日期。但是,即使毫秒爲零,它也需要明確的全格式或長格式。有沒有辦法強制datetime isoformat()方法輸出毫秒,即使是零時?我寧願不使用strftime強制執行我自己的日期時間規範,但如果唯一的解決方案是使用以下strftime格式,那就這樣吧。datetime:強制微秒輸出isoformat()

d.strftime("%Y-%m-%dT%H:%M:%S.%f+00:00") 

回答

2

下面是日期時間isoformat()的實現:

static char * 
isoformat_time(PyDateTime_DateTime *dt, char buffer[], int bufflen) 
{ 
    int x; 
    int us = DATE_GET_MICROSECOND(dt); 

    x = PyOS_snprintf(buffer, bufflen, 
         "%02d:%02d:%02d", 
         DATE_GET_HOUR(dt), 
         DATE_GET_MINUTE(dt), 
         DATE_GET_SECOND(dt)); 
    assert(bufflen >= x); 
    if (us) 
     x += PyOS_snprintf(buffer + x, bufflen - x, ".%06d", us); 
    assert(bufflen >= x); 
    return buffer + x; 
} 

看起來不像你可以做任何事情來執行在輸出字符串微秒。

+0

現在有一個ispecormat的timespec參數 - 看起來像它會在3.6中着陸。這裏討論:https://bugs.python.org/issue19475提交在這裏:https://github.com/python/cpython/commit/8d1d7e6816753248768e4cc1c0370221814e9cf1 – zaius