我有以下moment表達:
<DialogContent>
{startDate ? (
<DateTimePicker
value={startDate}
onChange={(value: any) =>
setStartDate(moment(value).format())
我想轉換date-fns格式,但是失敗了,總是1970的東西,為什么?
setStartDate(getUnixTime(new Date(value)))
uj5u.com熱心網友回復:
您可以從中匯入format函式date-fns并使用它:
import { format } from 'date-fns';
// Pass desired format as a second parameter
setStartDate(format(value, 'yyyy-MM-dd'));
uj5u.com熱心網友回復:
moment(value).format()回傳ISO 8601日期字串,如下所示:2021-11-10T10:19:09 09:00。然后,我猜這個setStartDate函式需要一個 ISO 8601 格式的日期字串。
目標是date-fns用來創建一個字串作為moment.format.
為此,您需要創建一個日期物件。如果它適用于moment(value)語法,則 meanvalue是毫秒時間戳數 ( 1636507295498) 或正式日期字串 ( 2021-11-10)。然后你可以通過 Date 建構式創建一個日期物件:
new Date(value);
現在,您可以使用formatISO創建所需的日期字串:
formatISO(dateObject);
最終的外觀將是這樣的:
setStartDate(formatISO(new Date(value)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/354894.html
標籤:javascript 瞬间 日期-fns
上一篇:嘗試將此類重新格式化為函式
