2009-04-24 9 views
0

objfile.dateFileDate = convert.ToDatetime (Format (txtdate.text, "MM/jj/aaaa hh: mm"))La chaîne n'a pas été reconnu comme un datetime valide

erreur suivant vient

La chaîne n'a pas été reconnu comme un datetime valide est un .Il inconnu mot commençant à 0.

que dois-je faire pour sauver ce datetime, s'il vous plaît aider

+4

À quoi ressemble votre "txtDate.Text"? –

Répondre

4

Vous ne pouvez pas formater du texte normal à l'aide de formats datetime.

Essayez

C#

objfile.dateFileDate=DateTime.ParseExact(txtdate.text, "MM/dd/yyyy hh:mm", null); 

VB.NET

objfile.dateFileDate=DateTime.ParseExact(txtdate.text, "MM/dd/yyyy hh:mm", Nothing) 

Cela suppose dateFileDate est un type DateTime et que le txtdate.text est dans le format ci-dessus .

+0

Je crois qu'il utilise VB.Net - et Format est une méthode VB6 héritée (rétrocompatible) qui formaterait sa chaîne comme il le demande. –

+0

Même dans VB6, vous ne pouvez pas utiliser Format pour mettre en forme une chaîne arbitraire. Vous devez fournir un type de date pour pouvoir formater en utilisant cette chaîne de format. –

+0

Juste pour mentionner, Convert.ToDateTime n'est pas faux et peut également être utilisé, mais DateTime.ParseExact vous permet de spécifier un format explicitement. –

-3

Essayez hh: nn au lieu de hh: mm

Je crois mm est deux mois en format chiffres et nn minutes en deux chiffres format.

+2

mm est minutes, MM est mois –

+0

Voir ici pour référence: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx –

1

Si votre programme est utilisé par une foule internationale, poursuivez votre lecture :)

ppl de cultures différentes rédigera dates dans des formats diffrent, donc si vous allez toujours analyser la chaîne qui pourrait être obtenir collante. Envisager d'utiliser le contrôle de calander? Je le dis en fonction de mon expérience personnelle. En découvrant également pourquoi votre actuel échoue, je ferais un DateTime.Now.ToString() et le comparerais à ce qui est dans la zone de texte pour que vous puissiez voir ce qui est mal tapé en ce moment (pendant le débogage bien sûr, pour aider à traquer le problème)

Questions connexes