Este formato es usado por el valueatributo HTML y la propiedad DOM y es el que se usa cuando se envía un formulario ordinario.
Formato de presentación
Los navegadores no tienen restricciones en cómo presentan una entrada de fecha. Al momento de escribir, Chrome, Edge, Firefox y Opera tienen soporte para fechas (ver aquí ). Todos muestran un selector de fecha y formatean el texto en el campo de entrada.
Dispositivos de escritorio
Para Chrome, Firefox y Opera, el formato del texto del campo de entrada se basa en la configuración de idioma del navegador. Para Edge, se basa en la configuración de idioma de Windows. Lamentablemente, todos los navegadores web ignoran el formato de fecha configurado en el sistema operativo. Para mí, este es un comportamiento muy extraño y algo a tener en cuenta al usar este tipo de entrada. Por ejemplo, los usuarios holandeses que tienen su sistema operativo o el conjunto de idioma del navegador a en-usserán mostrados 01/30/2019en lugar del formato que están acostumbrados a: 30-01-2019.
Internet Explorer 9, 10 y 11 muestran un campo de entrada de texto con el formato de conexión.
Dispositivos móviles
Específicamente para Chrome en Android, el formato se basa en el idioma de visualización de Android. Sospecho que lo mismo es cierto para otros navegadores, aunque no he podido verificar esto.
Hubiera esperado una marca de tiempo JS, y no el formato de cable. Y una forma de cambiar el formato de presentación, es bastante difícil de hacer coherente.
Allan Kimmer Jensen
77
@AllanKimmerJensen, aunque entiendo tus pensamientos. Creo que la decisión de usar el formato especificado en RFC3339 es correcta, ya que no crea un acoplamiento entre HTML y JavaScript. En cuanto a su segundo punto, creo que desde una perspectiva de usabilidad, tendría sentido que el usuario vea el calendario de acuerdo con sus preferencias regionales.
David Walschots
10
Si la aplicación es pt_BR, espero una entrada pt_BR. La configuración de mi sistema no importa. HTML5 necesita alguna forma de aplicar la configuración regional.
iurisilvio
55
Utilizo el idioma español para la configuración de fecha / moneda, ya que estoy en España, pero mi primer idioma es el inglés y estoy acostumbrado a un diseño de teclado de EE. UU., Así que uso el teclado de inglés / EE. UU. Mis clientes son europeos de habla francesa ... ¡Ojalá pudiera insinuar que Chrome, etc., dejara de mostrar fechas en formato USA mm-dd-aaaa!
Luke H
77
qué componente inútil, a quién diablos se le ocurren estas especificaciones?
Boh
144
Desde que se hizo esta pregunta, han sucedido varias cosas en el ámbito web, y una de las más emocionantes es el aterrizaje de componentes web . Ahora puede resolver este problema con elegancia con un elemento HTML5 personalizado diseñado para satisfacer sus necesidades. Si desea anular / cambiar el funcionamiento de cualquier etiqueta html, simplemente construya la suya jugando con la sombra dom .
La buena noticia es que ya hay muchas repeticiones disponibles, por lo que lo más probable es que no necesite encontrar una solución desde cero. Simplemente verifique lo que la gente está construyendo y obtenga ideas a partir de ahí.
Puede comenzar con una solución simple (y funcional) como entrada de fecha y hora para polímero que le permite usar una etiqueta como esta:
o puede obtener selectores de fecha completos creativos y emergentes con el estilo que desee , con el formato y las configuraciones regionales que desee, las devoluciones de llamada y su larga lista de opciones (¡tiene una API personalizada completa a su disposición!)
Cumple con los estándares, no hacks.
Vuelva a verificar los polyfills disponibles , los navegadores / versiones que admiten, y si cubre suficiente% de su base de usuarios ... Es 2018, por lo que es probable que cubra a la mayoría de sus usuarios.
pero, ¿alguno de esos es localizable? es decir, cambiar los nombres de los meses a idiomas distintos del inglés. ¿Y funcionan en computadoras de escritorio y dispositivos móviles?
Sam Hasler
Claro, son localizables. Puede aprovechar la configuración regional del sistema (es decir: is.gd/QSkwAY ) o proporcionar sus archivos i18n dentro del componente web (es decir: is.gd/Ru9U82 ). En cuanto a los navegadores móviles, son compatibles con polyfills, aunque no 100% (todavía) ... Verifique el enlace de navegadores / versiones que publiqué. De nuevo, esto es un borde sangriento. Si mira hacia el futuro, es una gran solución.
Me alegra que lo encuentres útil. Actualizaré la respuesta con todo.
joseldn
@SDude Parece que los enlaces que indicó que creía que valía la pena incluir aún no están incluidos.
Mark Amery
79
Como se mencionó anteriormente, oficialmente no es posible cambiar el formato. Sin embargo, es posible diseñar el campo, por lo que (con un poco de ayuda de JS) muestra la fecha en el formato que deseamos. Algunas de las posibilidades de manipular la entrada de fecha se pierden de esta manera, pero si el deseo de forzar el formato es mayor, esta solución podría ser una forma. Los campos de fecha solo se quedan así:
Funciona bien en Chrome para escritorio y Safari en iOS (especialmente deseable, ya que los manipuladores de fecha nativos en pantallas táctiles son inmejorables en mi humilde opinión). No buscó otros, pero no espere fallar en ningún Webkit.
Esto no funciona, cambia a MMMM YYYY DD, solo los DDcambios. -1 por esto, lo siento
Can O 'Spam
3
@SamSwift: ¿ha hecho clic en "Ejecutar" después de cambiar el valor? ;)
pmucha
99
No, no lo es. No entiendes cómo funciona: juegas con JS y deberías hacerlo con HTML. Ha cambiado el formato de entrada de la momentfunción y no es el camino a seguir. Debería haber cambiado data-date-format="DD-YYYY-MM"y luego obtendría 09-2015-08, que es el resultado correcto.
pmucha
3
Tampoco funciona en Safari, Edge, Opera, lo que lo hace inutilizable
El "formato de cable" RFC 3339 / ISO 8601: AAAA-MM-DD. De acuerdo con la especificación HTML5, este es el formato que debe usarse para el valor de la entrada al enviar el formulario o cuando se solicita a través de la API DOM. Es local e independiente de la región.
El formato mostrado por el control de la interfaz de usuario y aceptado como entrada del usuario. Se alienta a los proveedores de navegadores a seguir la selección de preferencias del usuario. Por ejemplo, en Mac OS con la región "Estados Unidos" seleccionada en el panel de preferencias Idioma y texto, Chrome 20 usa el formato "m / d / aa".
La especificación HTML5 no incluye ningún medio para anular o especificar manualmente ninguno de los formatos.
¿El valueatributo coincide con el formato de conexión o lo que se muestra al usuario?
Flimm
2
@Flimm el valueatributo siempre coincide con el formato del cable.
David Walschots
14
Creo que el navegador usará el formato de fecha local. No pienses que es posible cambiar. Por supuesto, podría usar un selector de fecha personalizado.
formato de fecha local significa nuestro formato de fecha predeterminado del teléfono o formato de fecha de ubicación?
Govindarao Kondala
2
Depende de qué navegador móvil estés usando. Pero sospecho que será el valor predeterminado del teléfono.
Michael Mior
2
El formato "local" se basa en la ubicación geográfica, que es posiblemente la peor forma de determinar un formato de fecha. ¿Esperaría un estadounidense que viaja a Europa que su teléfono inteligente comience a mostrar la hora en formato de 24 horas y las fechas como aaaa-mm-dd o dd / mm / aaaa? ¿O viceversa para un europeo en los Estados Unidos?
RobG
10
Google Chrome en su última versión beta finalmente usa la entrada type=date, y el formato es DD-MM-YYYY.
Entonces debe haber una manera de forzar un formato específico. Estoy desarrollando una página web HTML5 y las búsquedas de fechas ahora fallan con diferentes formatos.
El formato DD-MM-AAAA que menciona es probablemente su formato de calendario local. No es aconsejable (y por lo que puedo ver, imposible dentro de los estándares HTML5 actuales) forzar un formato específico en los visitantes de un sitio web, porque podrían usarse en un formato de calendario diferente al que usted les impone.
David Walschots
3
Se está refiriendo al formato de presentación, porque si intenta leer input.val (), google chrome (v35) devuelve la fecha en formato aaaa-mm-dd, sea cual sea el formato de presentación;)
Tilt
3
@DavidWalschots si solo los estadounidenses se dieran cuenta de lo imprudente que es forzar el formato mdy retrasado en el resto del mundo.
user275801
@ user275801 Si bien estoy de acuerdo en que M-D-Yes un formato extraño. No he visto a estadounidenses forzarlo a otros. :-)
David Walschots
2
@DavidWalschots, la mayoría de los sistemas operativos y de software que he visto requiere que usted "opte por no participar" del formato estadounidense mdy. En ese sentido, de hecho es "forzado". De hecho, mi Linux tiene todas las configuraciones regionales para Australia, pero mi navegador (un navegador americano, si se puede llamar así) todavía se encarga de mostrar todas las fechas en formato mdy, y en este caso no puedo " optar por no".
user275801
5
Pruebe esto si necesita una solución rápida Para hacer aaaa-mm-dd vaya "dd- Sep -2016"
1) Cree cerca de su entrada una clase de intervalo (actúe como etiqueta)
2) Actualice la etiqueta cada vez que el usuario cambie su fecha o cuando necesite cargar datos.
Funciona para móviles de navegador webkit y eventos de puntero para IE11 + requiere jQuery y Jquery Date
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script><scriptsrc="http://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script><inputid="date_input"dateformat="d M y"type="date"/><spanclass="datepicker_label"style="pointer-events: none;"></span>
Esto no responde la pregunta y requiere 2 bibliotecas, ninguna de las cuales está etiquetada o solicitada. Tampoco permite la entrada manual de la fecha.
RobG
no se le pidió que cambiara, solo muestre el formato ... puede hacer esto como una vista previa y usar la entrada con eventos de cambio para actualizar el formato de todos modos.
Miguel
4
Después de haber leído muchas discusiones, he preparado una solución simple pero no quiero usar mucho Jquery y CSS, solo algunos javascript.
Como se dijo, el <input type=date ... >no está completamente implementado en la mayoría de los navegadores, así que hablemos de webkit como los navegadores (Chrome).
Usando Linux, puede cambiarlo cambiando la variable de entorno LANG, LC_TIMEparece que no funciona (al menos para mí).
Puede escribir localeuna terminal para ver sus valores actuales. Creo que el mismo concepto se puede aplicar a iOS.
por ejemplo: Usar:
LANG=en_US.UTF-8/opt/google/chrome/chrome
La fecha se muestra como mm/dd/yyyy
Utilizando:
LANG=pt_BR /opt/google/chrome/chrome
La fecha se muestra como dd/mm/yyyy
Puede usar http://lh.2xlibre.net/locale/pt_BR/ (cambiar pt_BRsegún su configuración regional) para crear su propia configuración regional personalizada y formatear sus fechas como desee.
+1 ¡Genial! usando: LANG=ja_JP.UTF-8 chromium-browserhizo el truco para mí. También funciona con Vivaldi y supongo que también en otros navegadores. ¡Gracias!
lepe
2
Los navegadores obtienen el formato de entrada de fecha del formato de fecha del sistema del usuario.
(Probado en navegadores compatibles, Chrome, Edge).
Como a partir de ahora no hay un estándar definido por las especificaciones para cambiar el estilo del control de fecha, no es posible implementarlo en los navegadores.
Sin embargo, este comportamiento de obtener el formato de fecha de la configuración del sistema es mejor y sugiero encarecidamente que no intentemos anularlo. La razón es que los usuarios verán el formato de entrada de fecha igual al que han configurado en el sistema / dispositivo y con el que se sienten cómodos o coinciden con su ubicación.
Recuerde, este es solo el formato de UI en la pantalla que los usuarios ven, en su javascript / backend siempre puede mantener el formato deseado.
@downvoters, mejor dejar un comentario sobre -1, para mejorar las respuestas actuales y futuras.
Rahul R.
2
No es posible cambiar los navegadores de kit web usando el formato de fecha predeterminado de la computadora o los móviles del usuario. Pero si puede usar jquery y jquery UI, hay un selector de fecha que puede designarse y puede mostrarse en cualquier formato que el desarrollador desee. el enlace al selector de fechas de la interfaz de usuario jquery se encuentra en esta página http://jqueryui.com/datepicker/ puede encontrar la demostración, así como el código y el enlace de documentación o documentación
Editar: -Creo que Chrome usa configuraciones de idioma que son por defecto iguales a las configuraciones del sistema, pero el usuario puede cambiarlas, pero el desarrollador no puede obligar a los usuarios a hacerlo, por lo que debe usar otras soluciones js como le digo que puede buscar en la web con consultas como javascript date-pickers o jquery date-picker
Encontré una forma de cambiar el formato, es una forma complicada, simplemente cambié la apariencia de los campos de entrada de fecha usando solo un código CSS.
Esto no responde a la pregunta formulada; está analizando un formato personalizado aquí, sin cambiar el formato que <input>utiliza para mostrar el valor.
Mark Amery
esto es solo una
solución
0
Busqué este problema hace 2 años, y mis búsquedas en Google me llevan nuevamente a esta pregunta. No pierdas tu tiempo tratando de manejar esto con JavaScript puro. Pierdo el tiempo intentando hacerlo dd/mm/yyyy. No hay soluciones completas que se adapten a todos los navegadores. Por lo tanto, recomiendo usar jQuerydatepicker o decirle a su cliente que trabaje con el formato de fecha predeterminado
Sé que es una publicación antigua, pero viene como primera sugerencia en la búsqueda de Google, respuesta corta no, respuesta recomendada al usuario, un marcador de fecha personalizado, la respuesta correcta que uso es usar un cuadro de texto para simular la entrada de fecha y hacer el formato que desee aquí está el código
<html><body>
date :
<spanstyle="position: relative;display: inline-block;border:1px solid #a9a9a9;height:24px;width:500px"><inputtype="date"class="xDateContainer"onchange="setCorrect(this,'xTime');"style="position: absolute;opacity:0.0;height:100%;width:100%;"><inputtype="text"id="xTime"name="xTime"value="dd / mm / yyyy"style="border: none;height:90%;"tabindex="-1"><spanstyle="display: inline-block;width:20px;z-index:2;float: right;padding-top:3px;"tabindex="-1">▼</span></span><scriptlanguage="javascript">var matchEnterdDate=0;//function to set back date opacity for non supported browsers
window.onload =function(){var input = document.createElement('input');
input.setAttribute('type','date');
input.setAttribute('value','some text');if(input.value ==="some text"){
allDates = document.getElementsByClassName("xDateContainer");
matchEnterdDate=1;for(var i =0; i < allDates.length; i++){
allDates[i].style.opacity ="1";}}}//function to convert enterd date to any formatfunction setCorrect(xObj,xTraget){var date =newDate(xObj.value);var month = date.getMonth();var day = date.getDate();var year = date.getFullYear();if(month!='NaN'){
document.getElementById(xTraget).value=day+" / "+month+" / "+year;}else{if(matchEnterdDate==1){document.getElementById(xTraget).value=xObj.value;}}}</script></body></html>
1- tenga en cuenta que este método solo funciona para el navegador que admite el tipo de fecha.
2- la primera función en el código JS es para el navegador que no admite el tipo de fecha y establece el aspecto en una entrada de texto normal.
3- si usará este código para múltiples entradas de fecha en su página, cambie la ID "xTime" de la entrada de texto en la llamada de función y la entrada en sí misma a otra cosa y, por supuesto, use el nombre de la entrada que desea para el enviar formulario
4-en la segunda función puede usar cualquier formato que desee en lugar de día + "/" + mes + "/" + año, por ejemplo año + "/" + mes + "/" + día y en el ingreso de texto use un marcador de posición o valor como aaaa / mm / dd para el usuario cuando se carga la página.
dd/mm/yyyy
. simplemente use otra biblioteca como moment o jQuery datepickerRespuestas:
Es imposible cambiar el formato.
Tenemos que diferenciar entre el formato over the wire y el formato de presentación del navegador.
Formato de alambre
La especificación de entrada de fecha HTML5 se refiere a la especificación RFC 3339 , que especifica un formato de fecha completa igual a:
yyyy-mm-dd
. Consulte la sección 5.6 de la especificación RFC 3339 para obtener más detalles.Este formato es usado por el
value
atributo HTML y la propiedad DOM y es el que se usa cuando se envía un formulario ordinario.Formato de presentación
Los navegadores no tienen restricciones en cómo presentan una entrada de fecha. Al momento de escribir, Chrome, Edge, Firefox y Opera tienen soporte para fechas (ver aquí ). Todos muestran un selector de fecha y formatean el texto en el campo de entrada.
Dispositivos de escritorio
Para Chrome, Firefox y Opera, el formato del texto del campo de entrada se basa en la configuración de idioma del navegador. Para Edge, se basa en la configuración de idioma de Windows. Lamentablemente, todos los navegadores web ignoran el formato de fecha configurado en el sistema operativo. Para mí, este es un comportamiento muy extraño y algo a tener en cuenta al usar este tipo de entrada. Por ejemplo, los usuarios holandeses que tienen su sistema operativo o el conjunto de idioma del navegador a
en-us
serán mostrados01/30/2019
en lugar del formato que están acostumbrados a:30-01-2019
.Internet Explorer 9, 10 y 11 muestran un campo de entrada de texto con el formato de conexión.
Dispositivos móviles
Específicamente para Chrome en Android, el formato se basa en el idioma de visualización de Android. Sospecho que lo mismo es cierto para otros navegadores, aunque no he podido verificar esto.
fuente
Desde que se hizo esta pregunta, han sucedido varias cosas en el ámbito web, y una de las más emocionantes es el aterrizaje de componentes web . Ahora puede resolver este problema con elegancia con un elemento HTML5 personalizado diseñado para satisfacer sus necesidades. Si desea anular / cambiar el funcionamiento de cualquier etiqueta html, simplemente construya la suya jugando con la sombra dom .
La buena noticia es que ya hay muchas repeticiones disponibles, por lo que lo más probable es que no necesite encontrar una solución desde cero. Simplemente verifique lo que la gente está construyendo y obtenga ideas a partir de ahí.
Puede comenzar con una solución simple (y funcional) como entrada de fecha y hora para polímero que le permite usar una etiqueta como esta:
o puede obtener selectores de fecha completos creativos y emergentes con el estilo que desee , con el formato y las configuraciones regionales que desee, las devoluciones de llamada y su larga lista de opciones (¡tiene una API personalizada completa a su disposición!)
Cumple con los estándares, no hacks.
Vuelva a verificar los polyfills disponibles , los navegadores / versiones que admiten, y si cubre suficiente% de su base de usuarios ... Es 2018, por lo que es probable que cubra a la mayoría de sus usuarios.
¡Espero eso ayude!
fuente
Como se mencionó anteriormente, oficialmente no es posible cambiar el formato. Sin embargo, es posible diseñar el campo, por lo que (con un poco de ayuda de JS) muestra la fecha en el formato que deseamos. Algunas de las posibilidades de manipular la entrada de fecha se pierden de esta manera, pero si el deseo de forzar el formato es mayor, esta solución podría ser una forma. Los campos de fecha solo se quedan así:
El resto es un poco de CSS y JS: http://jsfiddle.net/g7mvaosL/
Funciona bien en Chrome para escritorio y Safari en iOS (especialmente deseable, ya que los manipuladores de fecha nativos en pantallas táctiles son inmejorables en mi humilde opinión). No buscó otros, pero no espere fallar en ningún Webkit.
fuente
MMMM YYYY DD
, solo losDD
cambios. -1 por esto, lo sientomoment
función y no es el camino a seguir. Debería haber cambiadodata-date-format="DD-YYYY-MM"
y luego obtendría 09-2015-08, que es el resultado correcto.Es importante distinguir dos formatos diferentes :
La especificación HTML5 no incluye ningún medio para anular o especificar manualmente ninguno de los formatos.
fuente
value
atributo coincide con el formato de conexión o lo que se muestra al usuario?value
atributo siempre coincide con el formato del cable.Creo que el navegador usará el formato de fecha local. No pienses que es posible cambiar. Por supuesto, podría usar un selector de fecha personalizado.
fuente
Google Chrome en su última versión beta finalmente usa la entrada
type=date
, y el formato esDD-MM-YYYY
.Entonces debe haber una manera de forzar un formato específico. Estoy desarrollando una página web HTML5 y las búsquedas de fechas ahora fallan con diferentes formatos.
fuente
M-D-Y
es un formato extraño. No he visto a estadounidenses forzarlo a otros. :-)Pruebe esto si necesita una solución rápida Para hacer aaaa-mm-dd vaya "dd- Sep -2016"
1) Cree cerca de su entrada una clase de intervalo (actúe como etiqueta)
2) Actualice la etiqueta cada vez que el usuario cambie su fecha o cuando necesite cargar datos.
Funciona para móviles de navegador webkit y eventos de puntero para IE11 + requiere jQuery y Jquery Date
fuente
Después de haber leído muchas discusiones, he preparado una solución simple pero no quiero usar mucho Jquery y CSS, solo algunos javascript.
Código HTML:
Código CSS:
Código Javascript:
Salida:
fuente
Como se dijo, el
<input type=date ... >
no está completamente implementado en la mayoría de los navegadores, así que hablemos de webkit como los navegadores (Chrome).Usando Linux, puede cambiarlo cambiando la variable de entorno
LANG
,LC_TIME
parece que no funciona (al menos para mí).Puede escribir
locale
una terminal para ver sus valores actuales. Creo que el mismo concepto se puede aplicar a iOS.por ejemplo: Usar:
La fecha se muestra como
mm/dd/yyyy
Utilizando:
La fecha se muestra como
dd/mm/yyyy
Puede usar http://lh.2xlibre.net/locale/pt_BR/ (cambiar
pt_BR
según su configuración regional) para crear su propia configuración regional personalizada y formatear sus fechas como desee.Una buena referencia más avanzada sobre cómo cambiar la fecha predeterminada del sistema es: https://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/ y https: // askubuntu. com / preguntas / 21316 / cómo-puedo-personalizar-un-sistema-local
Puede ver su formato de fecha actual real usando
date
:Pero como
LC_TIME
yd_fmt
parece ser rechazado por Chrome (y creo que es un error en webkit o Chrome), lamentablemente no funciona . : '(Entonces, desafortunadamente la respuesta, si
LANG
la variable de entorno IF no resuelve su problema, todavía no hay manera.fuente
LANG=ja_JP.UTF-8 chromium-browser
hizo el truco para mí. También funciona con Vivaldi y supongo que también en otros navegadores. ¡Gracias!Los navegadores obtienen el formato de entrada de fecha del formato de fecha del sistema del usuario.
(Probado en navegadores compatibles, Chrome, Edge).
Como a partir de ahora no hay un estándar definido por las especificaciones para cambiar el estilo del control de fecha, no es posible implementarlo en los navegadores.
Recuerde, este es solo el formato de UI en la pantalla que los usuarios ven, en su javascript / backend siempre puede mantener el formato deseado.
Consulte la página de desarrolladores de Google en el mismo.
fuente
No es posible cambiar los navegadores de kit web usando el formato de fecha predeterminado de la computadora o los móviles del usuario. Pero si puede usar jquery y jquery UI, hay un selector de fecha que puede designarse y puede mostrarse en cualquier formato que el desarrollador desee. el enlace al selector de fechas de la interfaz de usuario jquery se encuentra en esta página http://jqueryui.com/datepicker/ puede encontrar la demostración, así como el código y el enlace de documentación o documentación
Editar: -Creo que Chrome usa configuraciones de idioma que son por defecto iguales a las configuraciones del sistema, pero el usuario puede cambiarlas, pero el desarrollador no puede obligar a los usuarios a hacerlo, por lo que debe usar otras soluciones js como le digo que puede buscar en la web con consultas como javascript date-pickers o jquery date-picker
fuente
Encontré una forma de cambiar el formato, es una forma complicada, simplemente cambié la apariencia de los campos de entrada de fecha usando solo un código CSS.
fuente
Dado que la publicación está activa hace 2 meses. así que pensé dar mi opinión también.
En mi caso, recibo la fecha de un lector de tarjetas que viene en formato dd / mm / aaaa.
lo que hago. P.ej
qué hace el código:
Todo esto se hace en una sola línea.
Pensé que esto ayudaría a alguien, así que escribí esto.
fuente
<input>
utiliza para mostrar el valor.Busqué este problema hace 2 años, y mis búsquedas en Google me llevan nuevamente a esta pregunta. No pierdas tu tiempo tratando de manejar esto con JavaScript puro. Pierdo el tiempo intentando hacerlo
dd/mm/yyyy
. No hay soluciones completas que se adapten a todos los navegadores. Por lo tanto, recomiendo usarjQuery
datepicker o decirle a su cliente que trabaje con el formato de fecha predeterminadofuente
Sé que es una publicación antigua, pero viene como primera sugerencia en la búsqueda de Google, respuesta corta no, respuesta recomendada al usuario, un marcador de fecha personalizado, la respuesta correcta que uso es usar un cuadro de texto para simular la entrada de fecha y hacer el formato que desee aquí está el código
1- tenga en cuenta que este método solo funciona para el navegador que admite el tipo de fecha.
2- la primera función en el código JS es para el navegador que no admite el tipo de fecha y establece el aspecto en una entrada de texto normal.
3- si usará este código para múltiples entradas de fecha en su página, cambie la ID "xTime" de la entrada de texto en la llamada de función y la entrada en sí misma a otra cosa y, por supuesto, use el nombre de la entrada que desea para el enviar formulario
4-en la segunda función puede usar cualquier formato que desee en lugar de día + "/" + mes + "/" + año, por ejemplo año + "/" + mes + "/" + día y en el ingreso de texto use un marcador de posición o valor como aaaa / mm / dd para el usuario cuando se carga la página.
fuente