[英]Convert JavaScript date() to Python Django models.DateTimeField
我使用 django 模型表單向數據庫提交數據。 我使用 JavaScript 用以下內容自動填寫表單
document.getElementById('id_date_received').value = Date();
此輸出: Mon Feb 06 2017 11:39:05 GMT+0000 (GMT)
而 django 的模型。DateTimeField預計: 2017-02-06 11:39
我如何轉換: Mon Feb 06 2017 11:39:05 GMT+0000 (GMT)
到2017-02-06 11:39
謝謝
IMO,最好的解決方案是使用unix timestamps ,因為您可以避免所有與時區和時間解析相關的復雜內容。
JS:
js_date = new Date('2012.08.10');
// getTime() returns milliseconds from the UNIX epoch,
// so divide it by 1000 to get the seconds representation.
js_timestamp = js_date.getTime() / 1000;
Python:
python_date = datetime.datetime.fromtimestamp(js_timestamp)
您應該考慮使用Moment.js ,它是操作日期和時區格式的最簡單的 javascript 庫。
所以代碼會是這樣的:
moment(YOUR_DATE_VARIABLE).format('YYYY-MM-DD HH:mm'); // 2017-02-06 11:39
希望這對你有幫助。
您可以在接受特定格式的模型表單中設置日期模式。
input_formats=[list of datetime patterns that you want to accept]
這是一個冗長的解決方案,但這應該可以將 Date 轉換為 django 日期時間
我首先通過強制轉換將日期轉換為字符串
(String(date_var))
然后當我收到 API 調用時,我使用此命令將其轉換
datetime.datetime.strptime(",".join(original_time[:original_time.find("(")-1].split(" ")).replace("GMT",""), '%a,%B,%d,%Y,%H:%M:%S,%z')
我建議保留時區,因為不同的服務器可能位於不同的時區,這可能會破壞您的日期!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.