La Conversion de la date dans le format long, Comment ça marche?
J'ai essayé de convertir en objet date en format long (peut-être en millisecondes format) comme nous le faisons dans java.
Donc, pour répondre à mon besoin, après quelques essais et erreurs, j'ai trouvé au-dessous de manière qui fonctionne pour moi:
var date = new Date();
var longFormat = date*1; //dont know what it does internally
console.log(longFormat); //output was 1380625095292
Pour vérifier, j'inverse à l'aide de new Date(longFormat);
et il m'a donné de bons résultats. En bref, j'ai pu satisfaire mon besoin de quelque façon, mais je suis encore vierge à ce que la multiplication n'en interne ? Quand j'ai essayé de multiplier date actuelle avec les chiffres 2, il m'a donné une date de l'année 2057 !! personne ne sait, exactement ce qui se passe ?
- Veuillez lire le manuel ... c'est le nombre de millisecondes écoulées depuis le 1/1/1970 (équivalent à
date.getTime()
) - pourriez-vous s'il vous plaît partager certaines ressources lien qui peut éclaircir mes doutes?
- developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/... peut être un bon début
Vous devez vous connecter pour publier un commentaire.
Le long format affiche le nombre de tops après 01.01.1970, donc pour l'instant ses 43 ans.
*
opérateur forces argument pour être exprimées en nombre, je suppose,Date
objet a tel casting probablement avecgetTime()
.On double le nombre de millisecondes - vous obtenir de 43 ans, d'où le 2057 (ou alors) de l'année.
Ce que vous obtenez lorsque vous multipliez-vous, est-tiques
Visite: Comment convertir le JavaScript objet date dans les tiques
Aussi, lorsque vous
* 2
, vous obtenez le double de la valeur de tiques, de sorte que la date de l'avenirref: Javascript Date de Tiques
getTime
renvoie le nombre de millisecondes depuis le 1er janvier 1970. Ainsi, lorsque vous* 1
, vous pourriez avoir obtenu de la valeur de cette millisecondes. Lorsque vous* 2
il, ces millisecondes sont doublés, et vous obtenir la date de 2057!!Les Dates sont stockées de façon interne comme un timestamp, qui est un long-objet (plus d'infos sur les horodateurs). C'est pourquoi vous pouvez créer des Dates avec la nouvelle Date(long). Si vous essayez de multiplier une Date avec un entier, c'est ce qui se passe:
Javascript essaie de trouver la méthode la plus simple de conversion à partir de la date dans un format qui peut être multipliée par le facteur 1, qui est dans ce cas, les internes format long
Il suffit d'utiliser un objet date de méthodes.
Lire les docs: Objet Date JavaScript
Si Vous voulez obtenir les tiques:
ou
Javascript date d'objets sont basés sur une UTC valeur de temps c'est le nombre de millisecondes depuis le 1er janvier 1970. Il se trouve que Java utilise la même époque, mais la valeur de temps est la seconde.
Pour obtenir la valeur du temps, getTime méthode peut être utilisée, ou une opération mathématique peut être appliqué à l'objet date, par exemple
La Date constructeur accepte aussi une valeur de temps comme un argument pour créer un objet date, donc pour copier un objet date, vous pouvez le faire:
Si vous n':
vous sont effectivement la création d'une date qui est (très grossièrement):
Vous pouvez essayer de le l'analyse de la fonctionnalité de la Constructeur de Date, dont le résultat vous pouvez alors stringify:
>
//ou quelque chose
Mais l'analyse est dépendant de l'implémentation, et il n'y aura pas beaucoup de moteurs qui interprètent votre bizarre JJ/MM/AA format correctement. Si vous aviez utilisé MM/JJ/AAAA, il serait sans doute reconnu partout.
Au lieu de cela, vous voulez vous assurer que la façon dont il est analysé, de sorte à les faire vous-même et nourrir les pièces dans le constructeur:
new Date(ticks).toString();