2017-10-18 8 views
0

J'utilise nœud xlsx pour analyser fichier Excel dans Node.js mais les cellules Date ont vue étrange avant l'analyse syntaxique:Convertir Excel chaîne de date en temps Unix dans Node.js

in Excel: 01.03.2016 07:44:04 
in Node.js before parsing: 42430.32226851852 

Comment je peux convertir cette chaîne 42430.32226851852 au format Unix-temps?

Mise à jour: écrire moi-même solution qui fonctionne pour moi:

var xlsxDate = '42430.32226851852' 
var splitDate=xlsxDate.split('.'); 
var unixTime=new Date(1900, 0, splitDate[0]-1, 0, 0, Math.round(splitDate[1]/1157410)).getTime()/1000 
console.log(unixTime) 

Où est ~ 1 seconde

+0

Bonjour Dan. Je pense que ce lien peut vous aider https://stackoverflow.com/questions/42183859/convert-integer-to-date-in-node-js – Ediruth

+0

Merci mais pas shure. Je trouve des informations que point point divisé 42430.32226851852 à la date et l'heure: 42430 - date (du 01.01.1900), 32226851852 - heure. Et maintenant je ne comprends pas comment je peux transformer 32226851852 au format de l'heure normale. Excel est arrondi 32226851852 à 32227 lorsque je change le format de la cellule de la date à la chaîne –

Répondre

0

Un autre travail est autour que lorsque vous enregistrez votre document Excel enregistrez-le en tant que chaîne et non en tant qu'objet Date.

Ensuite, vous pouvez le lire comme une chaîne et juste l'envelopper dans une nouvelle date()