import moment from 'moment';
export class DateTimeFormat {
format(date, time) {
alert(date);
return moment(date + 'T' + time, 'DD/MM/YYYY HH:mm:ss');
}
}
‚Datum‘ umwandeln kann als String ‚DD/MM/YYYY‘ (von der DB auf Last) kommt durch, oder ein Datum Objekt aus dem calander (this.value = $('.input-group.date', this.element).datepicker('getUTCDate');
) picker wird innerhalb eines benutzerdefinierten Elements verwendet.moment.js kann nicht zwei Saiten ein
Datetimeformat wird wie folgt verwendet:
.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()
ich versucht habe. Moment (Datum) - Fails ungültiges Datum moment.utc (Datum) - Fails ungültiges Datum
ich nicht Wissen Sie, ob ich einen Versuch hinzufügen muss? Ich versuche und konvertiere von einem Date-Objekt, wenn es in den Catch fällt, dann muss es eine Zeichenkette von einer db usw. sein?
Verwenden Sie die folgenden Informationen aus @VicenzoC Ich habe hinzugefügt, eine if-Anweisung
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');
Erste alert -
Zweite alert -
Dank @VicenzoC, wenn die Seite zuerst lädt die Daten aus einer db gezogen wird und daher kommt wie 'DD/MM/YYYY' nur wenn es aus dem Kalender ausgewählt wurde, gibt es ein Datum Objekt zurück. Mache ich am besten so etwas wie eine Versuchs-/Fang-Aussage? –
@VicenzoC - Meine Frage wurde aktualisiert, da ich nicht glaube, dass ich sie richtig erklärt habe. –
@ClareBarrington vielleicht können Sie den Operator ['typeof'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof) verwenden, um den Typ Ihrer Eingabevariablen zu bestimmen und dann den Moment aufzurufen geeignete Parsing-Funktion. – VincenzoC