2017-10-05 1 views
-1

J'ai remarqué que en utilisant le code html ci-dessous:Comment puis-je récupérer les utilisateurs du système d'exploitation préféré formats de date et heure en JavaScript

<input type="date" value="2017-12-13" /> 

résultats dans une entrée qui ressemble à ceci:

enter image description here

Cette mise en forme est conforme à la configuration de formatage de fenêtres: enter image description here

Cependant, je n'ai trouvé aucune preuve que je peux mettre en forme les dates manuellement en utilisant une fonction javascript.

Il semble étrange qu'ils fournissent cette fonctionnalité dans un élément html mais pas dans javascript. En tant qu'approche hacky, je me suis contenté de créer une entrée, de la désactiver et de la formater à l'aide de css pour qu'elle ressemble à du texte simple.

Y at-il une fonction que je ne connais pas pour utiliser cette mise en forme et si ce n'est pas le cas, est-il prévu d'ajouter cette fonctionnalité.

Pour un moyen facile de vous tester, suivez les changements de formatage dans les fenêtres indiquées dans l'image ci-dessus. Redémarrez Google Chrome, puis visitez https://jsfiddle.net/3hyyv04d/1/

+0

de ce qui se passe, il est à cause de certains JavaScript que vous utilisez. Le code de base du navigateur ne réécrira pas les chaînes de date comme ça. – Pointy

+0

Je ne suis pas sûr de comprendre la question, vous voulez une fonction qui peut formater un objet date comme le système d'exploitation utilisateur? – MinusFour

+0

@Pointy son se passe sans javascript, essayez-le vous-même - voir https://jsfiddle.net/3hyyv04d/ –

Répondre

1

Je pense qu'il n'y a pas de fonction de base que vous avez manquée et il n'y a pas de plans pour l'ajouter au moment de la rédaction car le RFC est maintenant fermé. Ce sujet contient toutes les informations nécessaires: Is there any way to change input type="date" format?

+1

Ce n'est pas une réponse, ça devrait être un commentaire. Vous devriez l'avoir marqué comme une copie de la question que vous avez liée. – RobG

1

Des questions similaires ont déjà été posées ici. How to get the exact local time of client? ici aussi How to find the operating system version using JavaScript et aussi How to detect my browser version and operating system using JavaScript?
OS Détection:

// This script sets OSName variable as follows: 
// "Windows" for all versions of Windows 
// "MacOS"  for all versions of Macintosh OS 
// "Linux"  for all versions of Linux 
// "UNIX"  for all other UNIX flavors 
// "Unknown OS" indicates failure to detect the OS 

var OSName="Unknown OS"; 
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows"; 
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS"; 
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX"; 
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux"; 

document.write('Your OS: '+OSName); 


// 2. To know the timezone of the client relative to GMT/UTC here you go: 

    var d = new Date(); 
    var tz = d.toString().split("GMT")[1].split(" (")[0]; // timezone 

    var d = new Date(); 
    var tz = d.toString().split("GMT")[1]; // timezone, i.e. -0700 (Pacific Daylight Time) 

+0

Ce droit @RobG. J'ai répondu au lieu de commenter parce que je n'ai pas le privilège requis. Noté tout de même. Thks – Nditah