Question

J'ai une colonne Date dans 'jj / mm / aaaa' format et la colonne Heure 'HH: MM AM / PM' format tableur Google App. Dans l'application de script, je veux rejoindre ces 2 valeurs en tant que datetime. Comment puis-je faire?

Date Exemple-: 13/12/2010, Heure: 16h30 Ensuite, je veux obtenir une valeur combinée comme '13 / 12/2010 16h30 » comme un objet datetime.

J'ai essayé à ce jour et l'heure d'analyse syntaxique en utilisant séparément getYear, fonctions getDay JS. Et créé une nouvelle date en utilisant

new Date(year, month, day, hours, minutes)

Mais depuis quelque temps raison « 4:30 » est affiché comme une date bizarre complet comme le 30 novembre 1899 10h30. Je peux extraire avec précision l'année, le jour et le mois, mais pas des heures et des minutes.

Était-ce utile?

La solution

Ive a obtenu cette réponse ce fil de forum Google Apps.

"Tout d'abord, il n'y a pas de différence entre la date et l'heure (en plus de la mise en forme), ils sont tous les objets de date. Maintenant, le problème .. Le nombre qui est la valeur de la date / heure dans la feuille de calcul, est le nombre de jours écoulés depuis la « époque », de sorte que le « temps » est en fait la partie décimale du nombre. Si vous tapez 0 (zéro) dans votre feuille de calcul, puis sélectionnez le format datetime, vous verrez que l'époque est « 12/30/1899 0:00:00 » dans la feuille de calcul fuseau horaire actuel. à-dire dans différentes feuilles de calcul configurés avec des fuseaux horaires différents, l'époque, peut être modifié. Et si vous utilisez la même valeur numérique dans deux tableur (par exemple en utilisant ImportRange) vous les différents. Un comportement qui est très étrange pour moi. Ce ne fut pas toujours comme ça, mais Google semble penser que c'est mieux à l'utilisateur, parce que si l'on change les paramètres de fuseau horaire tableur, les dates ne changeront pas visuellement, par exemple si vous tapez « 1/1/10 14:00 » dans la feuille de calcul, puis changer le fuseau horaire à un autre, la date / heure ne changera pas. Il sera toujours 14:00 dans le nouveau fuseau horaire.

Maintenant, à l'époque est GAS "1/1/1970 00:00:00 GMT + 0", peu importe maintenant le fuseau horaire. Ainsi, l'époque est différente et très probablement le fuseau horaire aussi. Cela rend les dates d'exploitation entre le gaz et la feuille de calcul, un désordre total. Pour tester l'époque de GAZ, faire range.setValue (new Date (0)); «

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top