我在這個看似微不足道的問題上掙扎了幾個小時。
antd我的頁面上有一個日期選擇器。
每當我選擇一個日期,而不是給我我選擇的日期,它給了我一個凌亂的時刻物件,我不知道如何閱讀。
我想要的是,當我選擇“2020-01-18”時,它應該準確地給我用戶選擇的這個字串,無論時區如何,最好是 ISO 格式。
這不是一個跨國網站。我只需要一個普通的日期,這樣我就可以將它發送到服務器,存盤在資料庫中,無論如何。
這是我的一些試驗,到目前為止還沒有運氣:
var fltval = e;
if (isMoment(fltval)) {
var dat = fltval.toDate();
//dat.setUTCHours(0)
fltval = dat.toISOString(); // fltval.toISOString(false)
var a = dat.toUTCString();
//var b = dat.toLocaleString()
}
它繼續移動幾個小時,可能是為了補償一些時區偏差
更新 1:
這datestring是資料正確的。但它不是 ISO,所以我不能正確使用它。我可能會嘗試決議它,但我找不到一種方法來決議具有特定格式的字串。
更新 2:
我也嘗試手動添加偏差,但由于某種原因偏差為 0
var dat = pickerval.toDate()
var bias = Date.prototype.getTimezoneOffset()// this is 0...
var d2 = new Date(dat.getTime() bias)
var mystring= dat.toISOString() //still wrong
謝謝!
uj5u.com熱心網友回復:
獲取日期字串有兩種方法:
- 使用 moment.format api:
date.format("yyyy-MM-DD") - 使用傳遞給 onChange 的日期字串作為第二個引數
這是一個鏈接。
uj5u.com熱心網友回復:
我假設您的代碼片段在 onChange 方法中。這為您提供了一個時刻和一個日期字串(分別是函式的第一個和第二個引數)。
你有幾個選擇。您可以在 DatePicker 上設定 format 屬性以匹配所需字串的格式。然后只需使用日期字串。或者您可以使用 Domino987 描述的 moment 物件。
uj5u.com熱心網友回復:
可以使用 Javascript 日期函式,
我假設您將使用 2022-01-03T11:19:07.946Z 格式
date.toISOString().slice(0, 10)
至 2022-01-03
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/410998.html
標籤:
上一篇:VaadinGrid可排序日期列
