J'ai un textbox asp.net pour la saisie de la date, j'utilise l'expression régulière pour laisser l'utilisateur entrer la date au format jj-mm-aaaa mais quand je convertis la date d'entrée dans l'objet datetime, le mois et le jour les valeurs sont interchangées. Comment peut-on spécifier la bonne façon d'interpréter cette date d'entrée?Spécification du format d'entrée de date
Répondre
Vous pouvez utiliser DateTime.ParseExact
J'ai utilisé DateTime.ParseExact (this.txtFromDate.Text, "jj-MM-aaaa", CultureInfo.CultureInvariant) soyez prudent avec MM majuscule, car il est important :-) Merci – Blerta
Vous pouvez accomplir cela en spécifiant une culture qui utilise le format dd-mm-aaaa comme l'Allemagne:
DateTime dateTime = DateTime.Parse("01-12-2009", CultureInfo.GetCultureInfo("de-DE"));
Console.WriteLine(dateTime.ToString("dd MMM yyyy"));
produit:
01 Dec 2009
Bien sûr, vous voulez vraiment faire tous votre traitement spécifique à la culture dans la culture de votre utilisateur. Donc, CultureInfo.GetCultureInfo("de-DE")
devrait être CultureInfo.CurrentCulture
.
Et si votre utilisateur n'est pas habitué à voir des dates comme jj-mm-aaaa, n'utilisez pas ce format.
J'ai utilisé DateTime.Parse() dans le passé.
Mais il semble que vous avez problème de la culture, cette approche pourrait être mieux:
// Parse a date and time with no styles.
dateString = "03/01/2009 10:00 AM";
culture = CultureInfo.CreateSpecificCulture("en-US");
styles = DateTimeStyles.None;
try
{
result = DateTime.Parse(dateString, culture, styles);
outputBlock.Text += String.Format("{0} converted to {1} {2}.",
dateString, result, result.Kind.ToString()) + "\n";
}
catch (FormatException)
{
//Error
}
Plus d'info sur msdn: http://msdn.microsoft.com/en-us/library/ey1cdcx8(VS.96).aspx
Mais vous pouvez aussi construire le temps actuel si cela fonctionne mieux:
DateTime d = new DateTime(Y, M, D);
Je suggère d'utiliser DateTime.TryParseExact() et spécifiez votre format de date.
Il semble que l'application fonctionne sous une culture différente de ce que vous attendez de l'entrée de l'utilisateur. Vous voudrez peut-être change the culture à celui que vous attendez.
- 1. Quelle est la spécification du format de date hexadécimale dans le serveur SQL?
- 2. Remplacement du format de date XSD
- 3. Date ("date format 8601")?
- 4. Comment obtenir la date du format datetime
- 5. Format de date CSV
- 6. format de date convertion
- 7. ordinal Format de date C#
- 8. Définition du format de cellule de date dans excel xml
- 9. format de date HTTP NSDate
- 10. Importation Format de date mmjjaaaa
- 11. zéro Format de date C#
- 12. Format de date en VB6
- 13. Format de ticks à date
- 14. Date Format Problème
- 15. Utilisation du format de date locale dans les modules Joomla
- 16. format date dans C#
- 17. Conversion de format de date en SQL
- 18. Date Problèmes de format de culture
- 19. PHP Print Date Format variable
- 20. format de date java incompatible avec xquery xs: format de date, comment résoudre ce problème?
- 21. Convertir le format de date US en format de date ANSI SQL (AAAA-mm-jj)
- 22. Format de date pour SelectDateWidget de django
- 23. Comment montrer la date du jour dans ce format?
- 24. Format STR_TO_DATE à une date
- 25. Quel format de date est "ds1248083197360"?
- 26. format de date personnalisée en XML-Schema
- 27. format de filtre django pour la date
- 28. Changer le format de la date
- 29. rapport Crystal + C# format de date
- 30. Spécification du type des éléments de ArrayList
Comment convertissez-vous en DateTime? –
J'utilise DateTime fromDate = Convert.ToDateTime (this.txtFromDate.Text); – Blerta