J'utilise convert comme:
Convert.ToDateTime(value)
mais j'ai besoin de convertir la date au format comme "mm/yy".
Je cherche quelque chose comme ceci:
var format = "mm/yy";
Convert.ToDateTime(value, format)
Vous devriez probablement utiliser soit DateTime.ParseExact
ou DateTime.TryParseExact
à la place. Ils vous permettent de spécifier des formats spécifiques. Personnellement, je préfère les versions Try
- car je pense qu'elles produisent un code plus agréable pour les cas d'erreur.
Si value
est une string
dans ce format et que vous souhaitez le convertir en objet DateTime
, vous pouvez utiliser DateTime.ParseExact
static:
DateTime.ParseExact(value, format, CultureInfo.CurrentCulture);
Exemple:
string value = "12/12";
var myDate = DateTime.ParseExact(value, "MM/yy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
Console.WriteLine(myDate.ToShortDateString());
Résultat:
2012-12-01
DateTime
n'a pas de format. le format ne s'applique que lorsque vous transformez une DateTime
en une chaîne, ce qui se produit implicitement lorsque vous affichez la valeur sur un formulaire, une page Web, etc.
Regardez où vous affichez le DateTime et définissez le format (ou modifiez votre question si vous avez besoin de conseils supplémentaires).
Vous pouvez utiliser Convert.ToDateTime s’il est affiché à Comment convertir une chaîne de date/heure en une chaîne de date/heure de culture actuelle
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
var result = Convert.ToDateTime("12/01/2011", usDtfi)
Que dis-tu de ça:
string test = "01-12-12";
try{
DateTime dateTime = DateTime.Parse(test);
test = dateTime.ToString("dd/yyyy");
}
catch (FormatException exc)
{
MessageBox.Show(exc.Message);
}
Où test sera égal à "12/2012"
J'espère que ça aide!
S'il vous plaît lire ICI .