8
votes

Convertir une date à la chaîne en JavaScript

Je cherche un moyen de convertir un objet de date javascript à une chaîne. Je convertissons mon site de Ruby au serveur côté JavaScript et je cherche quelque chose d'analogue à StrfTime dans Ruby, C et de nombreuses autres langues.

J'ai trouvé de nombreux scripts simples qui font ce type de conversion, mais je préférerais ne pas inclure une implémentation personnalisée s'il existe un moyen standard de le faire.

Je n'utilise pas de cadre JavaScript. J'utilise Mozilla Rhino, mais vous préféreriez rester à l'écart de l'utilisation de la bibliothèque Java autant que possible pour permettre de déplacer facilement mon code entre les implémentations.

Je veux être capable de spécifier le format de la chaîne, car je veux l'intégrer dans une phrase. Je veux être capable d'insérer arbitraire sur's et At et avoir le nom complet de la journée, pas seulement c'est abréviation. Alors tostring () ne suffira pas.


1 commentaires

Il y a aussi jolie date ( ejohn.org/blog/javascript-pretty-date )


6 Réponses :


2
votes

Les dates ont une tostring intégrée:

alert(new Date().toString())


0 commentaires

1
votes

Vous pouvez utiliser xxx

... pour obtenir une sortie localisée de la date.


3 commentaires

J'aurais dû ajouter que je souhaite pouvoir spécifier le format de la chaîne, car je veux l'intégrer dans une phrase. Je veux être capable d'insérer arbitraire sur's et At et avoir le nom complet de la journée, pas seulement c'est abréviation.


Pourquoi tant de gens votent-ils? Il n'y a rien de flexible à ce sujet. Il a dit qu'il a besoin de quelque chose analogue .


Non, c'était une partie de sa question initiale



9
votes

Il y a une bibliothèque gratuite (et géniale) pour JavaScript appelée Datejs qui vous donne toutes sortes de formatage et Capacités d'analyse (voir le formatspecificateurs Documentation).


4 commentaires

Bien que je préfère ne pas utiliser une bibliothèque externe, c'est exactement ce dont j'ai besoin. Triste cependant qu'ils le marquent comme alpha et ne le mettent pas à jour depuis plus de 2 ans.


Je vous entends, mais vous pouvez simplement télécharger le dernier et utiliser le code comme référence pour créer votre propre. Ils ont aussi des tests ( datejs.com/test ). C'est une bonne bibliothèque que beaucoup de personnes utilisent.


Encore mieux, commencez à la mettre à jour vous-même. Vous aurez une impressionnante bibliothèque de date JS, et en l'améliorant et en apportant vos améliorations à la disposition du reste de nous, nous aurons une heure plus facile des choses et vous aurez une gloire Internet. Vous ne pouvez pas mettre un prix sur la gloire Internet.


Bien que la bibliothèque soit très agréable, j'ai décidé de ne pas l'utiliser pour ce cas spécifique puisqu'il a beaucoup trop de fonctionnalités pour ce dont j'ai besoin. Je vais l'utiliser à l'avenir pour d'autres projets, cependant.



6
votes

Il n'y a rien intégré à JavaScript qui vous permet de formater l'affichage d'une date comme StrfTime fait.

Le plus proche est date (). Tolocalestring () , qui retourne la date comme une chaîne formatée en fonction du fuseau horaire local.


0 commentaires

1
votes

Vous pouvez utiliser mon implémentation JavaScript de Java's SimpledateFormat : http://www.timdown.co.uk/code /SimpleDateFormat.php . C'est un peu plus léger que datte.js et est tenu à jour car il est inclus dans log4javascript .


0 commentaires

2
votes

Momentjs possède une option de formatage de temps très robuste et a également été mise à jour récemment.


0 commentaires