[英]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.