【Python】json裡的日期格式化報錯
阿新 • • 發佈:2018-12-11
背景:
監控開發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的返回值區別:一個是物件、一個是字串內容