J'ai deux widgets. Un calendrier et un widget de temps.
Mon calendrier est un objet DateTime Wed 29 avril 2020 00:00:00 GMT-0400 et mon heure renvoie ce résultat 1:00
Je voudrais combiner les deux pour créer un nouvel objet DateTime. Puis-je demander comment puis-je faire cela?
J'ai essayé ceci et cela n'a pas fonctionné du tout.
startDate.setTime(vm.startTime)
3 Réponses :
Je ne suis pas sûr, mais je pense que vous le voulez. J'espère avoir été utile
var startDate = { Date :"Wed Apr 29 2020 00:00:00 GMT-0400" };
var startTime = { Time :"1:00 AM" };
var DateTime = { DateAndTime: startDate.Date + " " + startTime.Time};
console.log(DateTime);
//{ DateAndTime: 'Wed Apr 29 2020 00:00:00 GMT-0400 1:00 AM' }
Modifier:
var startDate = { Date :"Wed Apr 29 2020 00:00:00 GMT-0400" };
var startTime = { Time :"1:00 AM" };
var DateTime = Object.assign(startDate, startTime);
console.log(DateTime);
// { Date: 'Wed Apr 29 2020 00:00:00 GMT-0400', Time: '1:00 AM' }
pas assez. C'est un objet avec deux propriétés. Une propriété DateTime et une propriété de temps. Je cherche un seul objet, objet DateTime.
Vouliez-vous dire un objet avec une propriété?
Vous devez itérer vos entrées d'objets et obtenir des valeurs pour les combiner dans un tableau.
mergeDateTime() {
const DateTime = {
a: "Wed Apr 29 2020 00:00:00 GMT-0400",
b: "1:00 AM",
};
const mergedDateTime = [];
for (let [key, value] of Object.entries(DateTime)) {
mergedDateTime.push(value);
}
return mergedDateTime;
}
Essayez de diviser votre chaîne de temps et de définir la valeur Heures de votre objet de date.
var startDate = "Wed Apr 29 2020 00:00:00 GMT-0400";
var startTime = "1:00 AM";
var result = new Date(startDate);
var hour = parseInt(startTime.split(":")[0]);
var minute = parseInt(startTime.split(":")[1].split(" ")[0]);
var amPmOffset = startTime.split(" ")[1] == "AM" ? 0 : 12;
result.setHours(hour, minute + amPmOffset, 0);
console.log(result.toString());
Utilisez-vous un moment.js ou juste de la vanille?
@MenaiAlaEddine J'utilise Moment.js
Cela vous aidera! stackoverflow.com/questions/171251/...