1. 程式人生 > >【Python】json裡的日期格式化報錯

【Python】json裡的日期格式化報錯

背景:

監控開發Jenkins釋出時的動態資訊,同步給測試,減少上線未同步測試的風險:開發提供了釋出平臺的介面(json)

問題:

1.通過python requests拿到介面內容後,發現日期格式是(備註:使用"%Y-%m-%d‘T’%H:%M:%S.%f‘Z’",報錯)

"start_time": "2018-09-20T12:00:00.000Z"

2.json中日期欄位使用UTC 通用標準時,以z來標識,猜測開發使用的方式

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").create();
checkRecord = gson.fromJson(checkString, CheckRecord.class);

或者

String date = "2018-09-20T12:00:00.000Z";
date = date.replace("Z", " UTC");//注意是空格+UTC
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");//注意格式化的表示式
Date d = format.parse(date );

解決:

import datetime
datetime.datetime.strptime("2018-09-20T12:00:00.000Z", "%Y-%m-%dT%H:%M:%S.%fZ")

format的格式不要除了特有的"%*"其他的都不用加引號會特殊符號轉譯,還有就是這個資料會存入資料庫,記得資料庫使用的方式,還有就是記住time.strptime與datetime.datetime.strptime的返回值區別:一個是物件、一個是字串內容