簡體   English   中英

使用 moment.js 檢查日期格式

[英]check format of date with moment.js

我正在從我的屏幕中的日歷中獲取這種類型的輸入

DD-MMM-YYYY HH:mm a

但用戶可以從鍵盤提供日期。 現在我必須檢查用戶是否以正確的格式提供了日期。 我在我的應用程序中大量使用 moment.js 並像這樣驗證它

 if(angular.equals(moment(scope.modelValue).format('DD-MMM-YYYY HH:mm a'), 'Invalid date'))
{
       alert('date is not correct');

}
else
{
alert('date is correct');
}

它工作正常,但問題是如果我提供像“18-Feb-2015 2”這樣的輸入,那么它會被轉換為“18-Feb-2015 00:00 am”。 那么現在如何檢查該格式正是我想要的? 請幫忙 ..

如果只是為了檢查下面是更好的選擇

moment(scope.modelValue, 'DD-MMM-YYYY HH:mm a', true).isValid()

要檢查日期格式,您可以使用:

moment(checked_date, DATE_FORMAT).format(DATE_FORMAT) === checked_date

如果您沒有特定的日期格式,那么您也可以使用格式數組,

moment(checked_date, [DATE_FORMAT1, DATE_FORMAT2]).format(DATE_FORMAT)
 === checked_date

在打字稿中:

當前使用的import語句(import *作為“ moment”起的時刻)是模塊的導入,並且不允許調用模塊(即,禁止moment())。 可以通過importet對象訪問所有已命名的矩出口。 可以通過moment.default()調用默認導出。我認為正確的解決方案是更改。

import * as moment from "moment" import moment from "moment"

因此,我們只導入默認導出並命名它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM