Je reçois mon champ de date au format UTC
ou BST
que je dois convertir dans mon fuseau horaire local.
Voici ma fonction: p >
exports.date = function formatDate(vpDateObj) { var vpDate = locale.parse(dateUtils.toString(vpDateObj), {datePattern: "dd-MMM-yyyy HH:mm", selector: "date"}); alert (vpDate); return vpDate ? vpDate.toString(vpDate) : " "; };
Voici ce que je retourne dès maintenant Voici mon exemple vpDate = "04-Oct-2019 13:48";
Comment puis-je convertir le fuseau horaire local dans le même format.
J'ai essayé d'utiliser toLocaleString
et quelques autres choses mais je ne suis pas en mesure de l'obtenir correctement.
toute aide serait appréciée.
Voici comment j'utilise dojo
columnConfiguration: { "auditDate": { formatter: formatters.date, sortable: true }, "actionedBy": { sortable: true }, "action": { formatter: _actionFormatter, sortable: true } } });
puis à partir de là, j'appelle ma fonction ci-dessus.
Maintenant, cela vient correct mais toujours mais le format est incorrect
Voici la sortie Fri Oct 04 2019 19:24:00 GMT + 0530 (India Standard Time)
qui est erronée
XXX
3 Réponses :
Dojo prend en charge le formatage de la date, décrit ici: https: //dojotoolkit.org/reference-guide/1.10/dojo/date/locale/format.html
Une chaîne au format suivant: 04-oct-2019 13:48
Correspond à cette spécification de format: jj-MMM-aaaa HH: mm
Je n'ai pas eu la solution. Dois-je écrire une fonction distincte? Je suis très nouveau dans le dojo, je pourrais donc poser une question très basique
Je ne connais pas du tout Dojo, je viens de le chercher maintenant. :) Mais il semble que ce soit juste une question d'utiliser une méthode de formatage Dojo existante, qui prend votre date et un objet contenant des options (dont l'une peut être le format de la date).
Vous pouvez utiliser dojo local: format fonction pour formater un objet de date dans votre format correspondant, en utilisant locale.format et en passant la date et l'objet contenant le motif que vous souhaitez convertir en utilisant datePattern:"yourpattern"
Voir ci-dessous l'extrait de code comment cela fonctionne :
<link href="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dijit/themes/claro/claro.css" rel="stylesheet" /> <script> dojoConfig = { parseOnLoad: true, async: true }; </script> <script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojo/dojo.js"></script>
require(["dojo/date/locale" ], function(locale) { var vpDate = new Date(); var format1 = locale.format( vpDate , {selector:"date", datePattern:"ddMMyy" } ); var format2 = locale.format( vpDate , {selector:"date", datePattern:"MM-dd-yyyy" } ); var format3 = locale.format( vpDate , {selector:"date", datePattern:"MM / dd / yyyy ss:mm:SSS" } ); console.log("ddMMyy -----> ", format1); console.log("MM-dd-yyyy -> ",format2); console.log("MM /dd/yyyy ss:mm:SSS -> ",format3); });
Cela me semble bien mais comme je suis très nouveau dans le dojo ... Y a-t-il un moyen de m'adapter à ma fonction
Je reçois tout comme nul .. Je ne sais pas comment appeler cette fonction
pourriez-vous poster comment vous utilisez le dojo? et souhaitez une version? poster juste en-tête comment vous importez et votre fonction
Je viens de publier un morceau de code d'où j'appelle la fonction de date dans le formateur
@ c'est juste une config pour une table je suppose! , quelle version utilisez-vous?
1.15 je me sens .. je ne peux pas dire exactement avec le pot je peux dire
Je ne comprends pas comment cela fonctionne, pourriez-vous créer une corbeille ici, où vous collez l'intégralité de l'exemple: pastebin.com/index.php?e=2
Son format de date presque fonctionnel ne fonctionne pas correctement.Je reçois le format Fri Oct 04 2019 19:24:00 GMT + 0530 (India Standard Time)
.. J'ai également mis à jour ma question.
Utilisation. format au lieu d'analyser. Alors passez la date directement au format sans dateutilsb.
Oui, j'ai essayé mais je n'obtiens pas l'heure correcte .. Je n'ai toujours que l'heure UTC.
var vpDate = dateUtils.toString (vpDateObj); var date = new Date (vpDate) var format2 = locale.format (date, {sélecteur: "date", datePattern: "jj-MMM-aaaa HH: mm"}); alerte (format2);
c'est bizarre, devrait alerter le temps au format pattern, pas moyen!
Oui ..Lorsque j'analyse, j'obtiens l'heure locale mais le format est différent
vérifier avant et après l'utilisation du format, ma fonction ne s'appelle pas $
oui, j'espère que vous trouverez une solution, car je ne sais pas où est le problème :)
Oui .. C'est ma date avant d'appeler la méthode de format Fri Oct 04 2019 13:48:00 GMT + 0530 (India Standard Time)
et après le format, je reçois ce 04-Oct- 2019 13:48
Vous pouvez utiliser formatDate (); fonction. formatDate () affiche la date et l'heure correctes en fonction du fuseau horaire
function formatDate(date) { return date.getFullYear() + '/' + (date.getMonth() + 1) + '/' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes(); } const seoul = new Date(1489199400000); formatDate(seoul); // 2017/3/11 11:30
"dans le même format" que quoi? En supposant que
vpDate
est un objet JavaScript standardDate
, il n’a pas de format intrinsèque lié à la manière dont la date a été initialement acquise.@kshetline a ajouté simpledateformat ..Merci