En Canadá, todos están familiarizados con el formato de fecha YYYY-MM-DD
. En Europa o Sudáfrica, prefieren DD-MM-YYYY
. Hay usuarios de Sudáfrica que se confunden con el YYYY-MM-DD
formato de fecha. ¿Hay alguna manera de manejar esta situación?
Estaba pensando en usar el siguiente formato de método para todos: Feb 02, 2011
websites
date-format
formatting
standards
ambiguity
Thierry Lam
fuente
fuente
DD-MM-YYYY
". Excepto, por ejemplo, en Hungría (YYYY.MM.DD
) o Finlandia (DD.MM.YYYY
), o ... Lo siento, la realidad es desordenada :-(prefix_1999_12_23_16_45_53.ext
. Motivo principal: fue muy fácil de ordenar, buscar y analizar. Al buscar, realmente desea comenzar con la unidad más importante primero para alcanzar el objetivo lo antes posible. Este tipo de cadena es incluso amigable con el árbol binario. El laboratorio estaba dominado por estudiantes de Europa, pero creo que esto era solo sentido común, si no un estándar científico. Sin embargo, en un país donde crecí, usaríamos DD-MM-AAAA para el uso diario. Razonamiento: cuando te despiertas, ¿cuál es la primera parte que quieres saber?Respuestas:
La parte ambigua es diferenciar el día del mes si están representados por números.
¿02/03 significa 03 de febrero o 02 de marzo?
Al cambiar el identificador del mes de su número con su nombre , elimina esa ambigüedad. Para responder a su pregunta, su variante de
Feb 02, 2011
parece ser una buena solución.Todavía hay un problema potencial con el número del año si lo está escribiendo solo con 2 dígitos, pero luego es fácil de solucionar (use 4).
fuente
No. No hay un formato de fecha universalmente reconocido.
ISO 8601 define un estándar internacional para formatos de fecha. Como tal, es probablemente el mejor compromiso. Pero como dices, a los usuarios no siempre les gusta este formato.
La única solución correcta es presentar un formato diferente para diferentes países. Puede encontrar que hay una biblioteca estándar para lograr esto si su lenguaje de programación elegido tiene un seguimiento significativo.
fuente
Deberías usar la información cultural para eso. O al menos el formato de visualización local.
En JavaScript, puede usar el método toLocaleString para la clase Date .
Para C #, puede usar la cadena de formato cuando use ToString .
Una búsqueda rápida en Google debería mostrarle cómo usar la cultura en el idioma que elija.
fuente
Iría con AAAA-MM-DD (y siempre escribiría los años de cuatro dígitos y los meses y días de dos dígitos). YYYY-DD-MM, que yo sepa, es poco común a raro, por lo que el formato AAAA-MM-DD es el que tiene menos ambigüedad, y eventualmente sus usuarios se darán cuenta. Además, obtienes la ventaja de clasificación trivial.
fuente
¿Puede dar a cada usuario su propia configuración regional, que luego representa las fechas y otra información de acuerdo con sus preferencias locales?
fuente
Muchas veces puede configurar la configuración regional y usar I18n en la mayoría de los marcos.
fuente
En el caso general, deberá especificar tanto el formato como el valor. Esta es la única forma de evitar cualquier confusión. Por ejemplo, puede decir "2011-02-02 (AAAA-MM-DD)". Sin embargo, viene a expensas de la simplicidad y la legibilidad, así que conozca a su audiencia.
Puede, por supuesto, decir "De aquí en adelante, todas las fechas están en el formato AAAA-MM-DD ...." Entonces "02/02/2011" que aparecerá más adelante no será ambiguo. Eso puede ser más apetecible, pero nuevamente, conozca a su audiencia.
fuente
Esta sugerencia es probablemente inútil, pero he visto meses escritos como números romanos. Claro, el 3 / XI / 2011 puede ser el 11 de noviembre o el 3 de marzo, pero supongo que la primera interpretación es más natural.
fuente
Diría que depende de lo que esté haciendo, cuánto control tiene sobre la entrada y ¿lo está almacenando en algún lugar?
Para el almacenamiento, usaría lo que sugirió Mike Dunlavey:
Él no dejó esto como respuesta, así que lo haré.
Una cosa más: vea la siguiente captura de pantalla de cómo ingresar la fecha de vencimiento de CC: http://www.ubercart.org/files/credit_card_checkout.jpg
Lo bueno de este ejemplo es que no te hace pensar. Utiliza números y nombres para el mes. Consideraría usar algo similar para la entrada. Para el mes, incluya tanto el número como el nombre localizado. Para el año y el día, use cuadros numéricos Arriba / Abajo o combinados. Entonces, el control del calendario también parece ingenioso.
Como dije, depende. Para almacenamiento: si usa una base de datos, verifique si ya proporciona un buen formato de datos inequívoco. Si usa algún otro método, vea si "AAAAMMDDHHMMSS donde la hora está en UTC" ayuda. Para presentarlo al usuario, tenga en cuenta qué países / localidades pueden estar involucrados, luego elija el tipo de representación más directo, "No me haga pensar". También considere proporcionar una opción.
Finalmente, mira algunos productos geniales que ya hacen algo similar, y trata de averiguar cómo lo hacen.
fuente
No existe un formato universal de fecha y hora para los usuarios finales del sitio web. Tampoco hay un valor de fecha y hora único porque el valor es diferente por zona horaria del cliente. Debe usar la globalización: su orientación de datos, hora, moneda, calendario, formatos nubmer basados en la cultura de los usuarios (se puede recibir de los idiomas aceptados que se pasan del navegador del usuario o mediante un interruptor implementado directamente en su aplicación). Algunas API (por ejemplo .NET) tienen soporte directo de estas características.
Para almacenar la fecha y la hora en databse, utilice el formato universal - UTC (hora universal coordinada).
fuente
Es lamentable que toda la inteligencia en el mundo de la computación internacional no pueda descifrar esta tuerca.
Ni Microsoft ni otros proveedores han considerado agregar una máscara de fecha que haga que el mes parezca estar lleno de cero, al igual que el día, pero con tres dígitos. La adopción de la práctica ayudaría a promover una nueva serie de formatos de fecha modificados que sean matemáticamente equivalentes y que sean fáciles de identificar y distinguir en cualquiera de los diseños de fecha tradicionales. Es decir:
0MM-DD-AAAA, p. Ej. 002-03-2016 para febrero 03,2016
DD-0MM-AAAA, p. Ej. 03-002-2016 para 03-feb-2016
AAAA-0MM-DD, por ejemplo, 2016-002-03 para 2016-02-03
AAAA-DD-0MM, por ejemplo, 2016-03-002 (¡si alguien quisiera usarlo!)
Parece demasiado fácil arreglarlo de esta manera ... Supongo que simple simplemente no se vende bien.
fuente