Domanda

Sono curioso di sapere quale sarebbe il modo migliore per gestire una stringa di date ambigua in una determinata lingua. Quando la pre-convalida dell'input dell'utente non è un'opzione, come devono essere analizzate le date MM / gg / AAAA?

Come analizzeresti la seguente data ambigua e per quale motivo (statistico, culturale, ecc.)?

'1111900' come 11 gennaio 1900 [ M / gg / AAAA ] o 1 novembre 1900 [ MM / g / AAAA ]?

È stato utile?

Soluzione

A meno che tu non sappia esattamente da quale lingua / cultura provenga il formato, devi stabilire un formato data comune.

C'è qualcosa chiamato formato data neutrale per le impostazioni locali che consiglierei. (AAAA-MM-DD)

Puoi usarlo o essere chiaro su quale parte è l'anno, il mese e il giorno. (DD MON YYYY o 22 apr 2003)

Vedi: la vista del w3 sulla formattazione della data.

Modifica: errato il formato della data neutrale per le impostazioni locali

Altri suggerimenti

A seconda di quanto sia importante il software, tratterei qualsiasi inserimento ambiguo della data come input non valido. Dovresti assicurarti (alla fonte) che la data che ricevi sia in un formato ragionevole, non ambiguo. Se riesci ancora a ottenere qualcosa del tipo "1111900" quindi l'input non è corretto, qualcuno ha ovviamente ignorato il codice di verifica della validità in qualche modo e probabilmente la cosa più corretta che puoi fare è scartare i dati.

Naturalmente, se questa non è un'opzione e ottenere la data non è fondamentale, puoi sempre indovinare - ma sarà un'ipotesi. Lo eviterei sicuramente, se possibile, però. Accettare input non autorizzati non è la migliore idea in generale.

L'unico modo per conoscere la differenza tra l'11 gennaio e il 1 novembre in un tale sistema sarebbe attraverso il contesto. Altrimenti, devi superare una sorta di chiarimento delle ambiguità. Quel particolare formato di data sarebbe un perfetto esempio di compressione patologicamente distruttiva.

La mia preferenza quando la data importante è utilizzare i menu a discesa dell'offerta o un calendario in questo modo viene sempre nel formato previsto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top