import moment from 'moment';
export class DateTimeFormat {
format(date, time) {
alert(date);
return moment(date + 'T' + time, 'DD/MM/YYYY HH:mm:ss');
}
}
「日」に2つの文字列を変換することはできませんカスタム要素内で使用されます。無効な日付 moment.utc(日付)失敗 - - (日付) 瞬間無効な日付を
私はない失敗:。
.ensure('baseContent.ValidFromDate', (config) => { config.computedFrom(['baseContent.ValidFromDate', 'baseContent.ValidFromTime', 'baseContent.ValidToDate', 'baseContent.ValidToTime']) })
.if(() => {
return this.baseContent.ValidFromDate !== null && this.baseContent.ValidFromTime !== null && this.baseContent.ValidToDate !== null && this.baseContent.ValidToTime !== null })
.passes(() => { return this.datetimeformat.format(this.baseContent.ValidFromDate, this.baseContent.ValidFromTime) < this.datetimeformat.format(this.baseContent.ValidToDate, this.baseContent.ValidToTime) })
.withMessage('< Valid To')
.endIf()
は、私が試してみました:
DateTimeFormatは次のように使用されています私はtry catchを追加する必要があるかどうかを知っていますか?私は試して、日付オブジェクトから変換する場合は、キャッチ内に落ちる場合は、dbなどの文字列でなければならない?私が追加した以下の@VicenzoCからの情報を使用して
AN if文
var dateFormatted;
if (typeof(date) === 'string')
{
dateFormatted = date;
}
else
{
// Must be an object from a calendar etc
alert(date);
dateFormatted = moment(date, 'DD/MM/YYYY');
alert(dateFormatted);
}
return moment(date + 'T' + time, 'DD/MM/YYYY HH:mm:ss');
まず警告 -
セカンド警告 -
ありがとう@VicenzoC、ページが最初に読み込まれるとき、データはdbから引き出され、カレンダーから選択されたときにのみ 'DD/MM/YYYY'のように出てきます。私はtry/catchステートメントのようなことをするのが一番ですか? –
@ VicenzoC - 正しく説明しているとは思わないので、私の質問を更新しました。 –
@ClareBarrington多分あなたは['typeof'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof)演算子を使って入力変数の型を決定し、次にモーメントを呼び出すことができます適切な解析機能。 – VincenzoC