toLocaleDateString() format court
Je veux avoir le court notation de la Date.toLocaleDateString() mais au format local. Il ya beaucoup de solutions que de coder en dur le aaaa-mm-jj mais je veux qu'il soit dépendante sur le système qui héberge la page. C'est ma fonction jusqu'à présent:
function getDate(dateTimeString)
{
var date = getDateTime(dateTimeString);
var options = { year: "numeric", month: "numeric", day: "numeric" };
return date.toLocaleDateString( date.getTimezoneOffset(), options );
}
mais cela le renvoie de la sorte: mercredi 28 janvier 2015, que je ne veux pas. Toutes les suggestions/idées?
PS: ce n'est pas un navigateur, et il est assez possibilité réelle que la personne qui l'utilise n'a pas interwebs connexion; toutes les informations est obtenu à partir d'une base de données locale donc je ne peux pas utiliser n'importe fany des trucs comme ça Comment obtenir des visiteurs du lieu (pays) à l'aide de javascript géolocalisation.
- Que voulez-vous dire qu'il n'est pas un navigateur?
- c'est un programme capable d'analyser les balises HTML, mais il arrive c'est de l'information à partir d'une base de données locale, mais je ne peux pas utiliser des choses comme les services web.
- Vous nous avez dit que la sortie que vous ne voulez pas. Pouvez-vous nous dire quelle sortie vous NE voulez? Il n'y a littéralement des centaines de façons différentes à la sortie le même jour de la même langue...
- C'est marrant... j'ai juste connu le même problème sur ie11 avec un serveur web local. Je viens d'obtenir le fr-fr formaté de longue date de retour... Testé sur JSFiddle sur le même navigateur et il a travaillé -.-
Vous devez vous connecter pour publier un commentaire.
Je pense que la fonction toLocaleDateString utiliser la valeur par défaut de données locales sur l'appareil.
essayer ce code pour vérifier la sortie:
Oui. Son assez simple. Vous pouvez utiliser l'objet date, comme suit:
Alors vous devriez avoir les chiffres dont vous avez besoin pour former une chaîne de caractères dans le format que vous avez besoin.
Note cela va donner quelque chose comme 2015-1-2 si les chiffres sont dans les chiffres simples, si vous avez besoin d'2015-01-02 alors vous aurez besoin de plus de la conversion.
Aussi s'il vous plaît noter que ce ne donnera le "client" date, c'est à dire. la date sur le système des utilisateurs. Cela devrait être dans leur temps. Si vous avez besoin de serveur de temps, alors vous aurez à faire une sorte d'api pour appeler.
Vous pouvez essayer quelque chose comme:
Qui me donne "28-01-15" dans Chrome (48.0.2564.116) au moins.
Firefox renvoie simplement "01/28/2015", et phantomJS renvoie "28/01/2015", indépendamment de l'endroit.
Apparemment Date.le prototype.toLocaleDateString() est incompatible dans les navigateurs. Vous pouvez mettre en œuvre des différentes variantes d'un format de date courte, comme expliqué ici:
Comment format JavaScript Date à l'égard de la culture du navigateur?
toLocaleDateString
?! Ne devrait pas sortie de par exemple.str.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' })
être compatible sur tous les navigateurs?!