Εντοπισμού περιγραφείς μορφή ημερομηνίας

ψήφοι
15

Ποιος είναι ο καλύτερος τρόπος για να εντοπίσουν μια περιγραφή μορφή της ημερομηνίας;

Όπως ο καθένας από έναν πολιτισμό που δεν χρησιμοποιεί τη μορφή ηη / μμ / εεεε ξέρει, είναι ενοχλητικό να πρέπει να εισάγετε ημερομηνίες σε αυτή τη μορφή. Το πλαίσιο .NET παρέχει κάποια πολύ καλή υποστήριξη τοπικοποίησης, γι 'αυτό είναι ασήμαντο για να αναλύσει ημερομηνίες ανάλογα με την κουλτούρα τους χρήστες, αλλά συχνά θέλετε να εμφανίζεται επίσης μια χρήσιμη υπόδειξη ως προς τη μορφή που απαιτείται (ιδιαίτερα για τη διάκριση μεταξύ της εε και εεεε που είναι ανταλλάξιμες με πιο καλλιέργειες).

Ποιος είναι ο καλύτερος τρόπος για να το κάνουμε αυτό με έναν τρόπο που να έχει νόημα για τους περισσότερους χρήστες (π.χ. dd / M / yyy προκαλεί σύγχυση λόγω της αλλαγής στην υπόθεση και την εναλλαγή μεταξύ ενός και δύο γράμματα).

Δημοσιεύθηκε 03/08/2008 στις 18:30
πηγή χρήστη
Σε άλλες γλώσσες...                            


7 απαντήσεις

ψήφοι
6

Απλά χρησιμοποιήστε το ISO-8601 . Είναι ένα διεθνές πρότυπο.

Date and time (current at page generation) expressed according to ISO 8601:
Date:                           2014-07-05
Combined date and time in UTC:  2014-07-05T04:00:25+00:00
                                2014-07-05T04:00:25Z
Week:                           2014-W27
Date with week number:          2014-W27-6
Ordinal date:                   2014-186
Απαντήθηκε 03/08/2008 στις 19:18
πηγή χρήστη

ψήφοι
4

Πρέπει να συμφωνήσω με το ΕΠ «λάθος» ημερομηνίες πραγματικά βάζο με DD μου / ΜΜ / ΕΕΕΕ ανατροφή και θεωρώ ISO 8601 ημερομηνίες και ώρες εξαιρετικά εύκολο να εργαστεί με. Για πρώτη φορά το πρότυπο έχει δίκιο και EngTech έχει την προφανή απάντηση που δεν απαιτούν εντοπισμό.

Ήμουν έτοιμος να αναφέρετε τη φόρμα εισόδου γενέθλια σε στοίβα υπερχείλιση ως σφάλμα, λόγω του πόσο ένα επώδυνο αντίχειρα είναι στην πλειοψηφία του κόσμου.

Απαντήθηκε 04/08/2008 στις 19:50
πηγή χρήστη

ψήφοι
2

Εδώ είναι η σημερινή μέθοδος μου. Οποιεσδήποτε προτάσεις?

Regex singleMToDoubleRegex = new Regex("(?<!m)m(?!m)");
Regex singleDToDoubleRegex = new Regex("(?<!d)d(?!d)");
CultureInfo currentCulture = CultureInfo.CurrentUICulture;

// If the culture is netural there is no date pattern to use, so use the default.
if (currentCulture.IsNeutralCulture)
{
    currentCulture = CultureInfo.InvariantCulture;
}

// Massage the format into a more general user friendly form.
string shortDatePattern = CultureInfo.CurrentUICulture.DateTimeFormat.ShortDatePattern.ToLower();
shortDatePattern = singleMToDoubleRegex.Replace(shortDatePattern, "mm");
shortDatePattern = singleDToDoubleRegex.Replace(shortDatePattern, "dd");
Απαντήθηκε 03/08/2008 στις 18:31
πηγή χρήστη

ψήφοι
1

Μια σύντομη μορφή είναι βολικό και βοηθά στην αποφυγή ορθογραφικών λαθών. Μεταφράστε ανάλογα με την περίπτωση, αλλά να είστε σίγουροι για να εμφανιστεί η αναμενόμενη μορφή (μην αφήνετε τον τυφλό χρήστη). Παρέχουν ένα στοιχείο ελέγχου ημερομηνία-επιλογέα ως προαιρετικό βοηθός συμπληρώνοντας το πεδίο.

Ως επιπλέον, on-the-fly ανάλυση και απεικόνιση της ημερομηνίας σε μεγάλη φόρμα μπορεί να βοηθήσει πάρα πολύ.

Απαντήθηκε 04/08/2008 στις 20:13
πηγή χρήστη

ψήφοι
1

Το πρόβλημα με τα διεθνή πρότυπα είναι ότι λίγο πολύ κανείς δεν τα χρησιμοποιεί. Προσπαθώ πού μπορώ, αλλά είμαι υποχρεωμένος να χρησιμοποιήσει ηη / μμ / εεεε σχεδόν παντού στην πραγματική ζωή, πράγμα που σημαίνει είμαι τόσο συνηθισμένοι σε αυτό είναι πάντα μια συνειδητή διαδικασία για να χρησιμοποιήσετε το πρότυπο ISO-8601. Για την πλειοψηφία των ανθρώπων που δεν χρειάζεται καν να προσπαθήσουν να χρησιμοποιήσουν το πρότυπο ISO-8601 είναι ακόμα χειρότερα. Εάν μπορείτε να διεθνοποιήσουν όπου μπορείτε, νομίζω ότι είναι ένα μεγάλο πλεονέκτημα.

Απαντήθηκε 04/08/2008 στις 09:14
πηγή χρήστη

ψήφοι
1

Πόσο περίπου δίνοντας την μορφή (ηη / μμ / εεεε ή ηη / μμ / εεεε) που ακολουθείται από μια εκτύπωση με σημερινή ημερομηνία, στην κουλτούρα του χρήστη. MSDN έχει ένα άρθρο σχετικά με τη διαμόρφωση μιας DateTime για τον πολιτισμό του ατόμου , χρησιμοποιώντας το αντικείμενο CultureInfo που μπορεί να είναι χρήσιμη για να γίνει αυτό. Ένας συνδυασμός της μορφής (που οι περισσότεροι άνθρωποι είναι εξοικειωμένοι με) σε συνδυασμό με την τρέχουσα ημερομηνία εκπροσωπούνται σε αυτή τη μορφή θα πρέπει να είναι αρκετή μια ένδειξη για το πρόσωπο για το πώς θα πρέπει να εισάγετε την ημερομηνία. (Επίσης, περιλαμβάνουν τον έλεγχο ημερολόγιο για εκείνους που ακόμα επίκλισης να το καταλάβω).

Απαντήθηκε 03/08/2008 στις 18:37
πηγή χρήστη

ψήφοι
0

Καλύτερη επιλογή : Θα πρότεινα, αντί να χρησιμοποιήσετε ένα πρότυπο επιλογής ημερομηνίας.

Εναλλακτικές : κάθε φορά το περιεχόμενο των αλλαγών επεξεργασία ελέγχου, και η οθόνη ανάλυση (σε ξεχωριστό έλεγχο;) τη μεγάλη μορφή της ημερομηνίας (δηλαδή: είσοδος «03/04/09» οθόνη «εισόδου σας: 4 Μαρ 2009» )

Απαντήθηκε 19/09/2008 στις 18:02
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more