1
votes

Comment combiner la date et l'heure en un seul objet datetime?

Dans mon application native react, je dois combiner ma date et mon heure en un seul objet datetime. J'ai utilisé le package npm du sélecteur de date et d'heure modal natif pour obtenir la date et l'heure.

J'ai un sélecteur de date renvoyant une chaîne de date et un sélecteur de temps renvoyant une chaîne d'heure. Quand j'essaye de combiner cela me donnera une sortie comme date invalide.

concatDateTime = () => {

    var date = this.state.date;
    var time = this.state.currentTime;

    var dateTime = Moment(date + ' ' + time, 'DD/MM/YYYY HH:mm');

    console.log(dateTime.format('YYYY-MM-DD HH:mm'));
}

J'ai besoin de dateobject au format ('YYYY-MM-DDTHH: mm: s').


2 commentaires

Pouvez-vous nous montrer à quoi ressemblent vos this.state.date et this.state.currentTime ?


this.state.date: 2019-02-16, this.state.currentTime: 8:24 PM ce sont les valeurs de sortie.


3 Réponses :


0
votes

Cliquez simplement sur le lien ci-dessous, https://stackblitz.com/edit/typescript-bmgx2p?file=index. ts

J'espère que cela résoudra votre problème.


2 commentaires

Obtient toujours le même résultat. 'Date invalide'


Faites-moi savoir si la solution mentionnée ci-dessus fonctionne ou non?



4
votes

Vous pouvez spécifier le format de votre chaîne d'entrée pour indiquer au moment comment l'analyser.

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
var date = '2019-02-16';
var time = '8:24 PM';

// tell moment how to parse the input string
var momentObj = moment(date + time, 'YYYY-MM-DDLT');

// conversion
var dateTime = momentObj.format('YYYY-MM-DDTHH:mm:s');

console.log(dateTime);


0 commentaires

0
votes

Une autre alternative:

let mDate = moment(data.StartDateLocal).tz("Australia/Melbourne");
let mTime = moment(data.StartTimeLocal).tz("Australia/Melbourne");
let x1 = {
    'hour':    mTime.get('hour'),
    'minute':  mTime.get('minute'),
    'second':  mTime.get('second')
}                
mDate.set(x1);
this._json.header.transactionStartDateTime = mDate.format("YYYY-MM-DDTHH:mm:ss");


0 commentaires