Comment convertir le format de date en JJ-MM-AAAA en C#
15 réponses
Selon l'un des premiers résultats de recherche Google: http://www.csharp-examples.net/string-format-datetime/
// Where 'dt' is the DateTime object...
String.Format("{0:dd-MM-yyyy}", dt);
Voici la Méthode la plus Simple.
C'est la valeur de la chaîne: "5/13/2012"
DateTime _date;
string day = "";
_date = DateTime.Parse("5/13/2012");
day = _date.ToString("dd-MMM-yyyy");
Elle sera de sortie: 13-Mai-2012
string formattedDate = yourDate.ToString("dd-MM-yyyy");
DateTime dt = DateTime.Now;
String.Format("{0:dd-MM-yyyy}", dt);
convertissez D'abord votre chaîne en variable DateTime:
DateTime date = DateTime.Parse(your variable);
puis convertissez cette variable de nouveau en chaîne dans le format correct:
String dateInString = date.ToString("dd-MM-yyyy");
DateTime s1 = System.Convert.ToDateTime(textbox.Trim());
DateTime date = (s1);
String frmdt = date.ToString("dd-MM-yyyy");
la Voici:
DateTime time = DateTime.Now;
Console.WriteLine(time.Day + "-" + time.Month + "-" + time.Year);
fonctionne! :)
avez-vous votre variable date stockée sous forme de chaîne ou de type Date?
dans ce cas, vous devrez faire quelque chose comme
DateTime myDate = null;
DateTime.TryParse(myString,myDate);
ou
Convert.ToDateTime(myString);
vous pouvez alors appeler ToString ("JJ-MM-AAAA") sur votre variable date
j'ai rencontré le même problème. Ce que j'avais besoin de faire était d'ajouter une référence en haut de la classe et de changer la CultureInfo du thread qui est actuellement en cours d'exécution.
using System.Threading;
string cultureName = "fr-CA";
Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
DateTime theDate = new DateTime(2015, 11, 06);
theDate.ToString("g");
Console.WriteLine(theDate);
Tout ce que vous avez à faire est de changer le nom de la culture, par exemple: "en-US" = États-Unis "fr-FR" = France francophone "fr-CA" = Canada francophone etc...
le problème est que vous essayez de convertir une chaîne, donc d'abord vous devriez lancer votre variable à la date et après cela appliquer quelque chose commestring date = variableConvertedToDate.ToString("dd-MM-yyyy")
oustring date = variableConvertedToDate.ToShortDateString()
dans ce cas, le résultat est jj/MM/aaaa.
A partir de C# 6.0 (Visual Studio 2015 et versions plus récentes), vous pouvez simplement utiliser une chaîne interpolée avec formatage:
var date = new DateTime(2017, 8, 3);
var formattedDate = $"{date:dd-MM-yyyy}";
return inObj = = DBNull.De la valeur ? "" : (Convertir.ToDateTime (inObj)).ToString ("MM/JJ / AAAA").ToString ();
var dateTimeString = "21-10-2014 15:40:30";
dateTimeString = Regex.Replace(dateTimeString, @"[^\u0000-\u007F]", string.Empty);
var inputFormat = "dd-MM-yyyy HH:mm:ss";
var outputFormat = "yyyy-MM-dd HH:mm:ss";
var dateTime = DateTime.ParseExact(dateTimeString, inputFormat, CultureInfo.InvariantCulture);
var output = dateTime.ToString(outputFormat);
Console.WriteLine(output);
essayez ceci, cela fonctionne pour moi.
DateTime dt = DateTime.Now;
String.Format("{0:dd-MM-yyyy}", dt);