Conversion du format de chaîne en date / heure en mm / jj / aaaa

Je dois convertir la chaîne au format mm / jj / aaaa en variable datetime, mais elle doit restr au format mm / jj / aaaa.

ssortingng strDate = DateTime.Now.ToSsortingng("MM/dd/yyyy"); 

S’il vous plaît aider.

    Vous recherchez la méthode DateTime.Parse() ( Article MSDN )

    Alors tu peux faire:

     var dateTime = DateTime.Parse("01/01/2001"); 

    Ce qui vous donnera un object typé DateTime .

    Si vous devez spécifier le format de date que vous souhaitez utiliser, utilisez DateTime.ParseExact ( article MSDN ).

    Ce que vous utiliseriez dans une situation comme celle-ci (où vous utilisez un format de date de style britannique):

     ssortingng[] formats= { "dd/MM/yyyy" } var dateTime = DateTime.ParseExact("01/01/2001", formats, new CultureInfo("en-US"), DateTimeStyles.None); 

    Vous avez besoin d’un M majuscule pour la partie mois.

     ssortingng strDate = DateTime.Now.ToSsortingng("MM/dd/yyyy"); 

    La minuscule m sert à la sortie (et à l’parsing) d’une minute (telle que h:mm ).

    Par exemple, une chaîne de date complète pourrait ressembler à ceci:

     ssortingng strDate = DateTime.Now.ToSsortingng("MM/dd/yyyy h:mm"); 

    Notez la différence mM majuscule / minuscule.


    De même, si vous traitez toujours avec la même chaîne de format de date / heure, vous pouvez simplifier la tâche en les écrivant en tant que méthodes d’extension C #.

     public static class DateTimeMyFormatExtensions { public static ssortingng ToMyFormatSsortingng(this DateTime dt) { return dt.ToSsortingng("MM/dd/yyyy"); } } public static class SsortingngMyDateTimeFormatExtension { public static DateTime ParseMyFormatDateTime(this ssortingng s) { var culture = System.Globalization.CultureInfo.CurrentCulture; return DateTime.ParseExact(s, "MM/dd/yyyy", culture); } } 

    EXEMPLE: Traduire entre DateTime / ssortingng

     DateTime now = DateTime.Now; ssortingng strNow = now.ToMyFormatSsortingng(); DateTime nowAgain = strNow.ParseMyFormatDateTime(); 

    Notez qu’il n’ya AUCUN moyen de stocker des informations de format DateTime personnalisées à utiliser par default comme dans .NET, la mise en forme de chaîne dépend de la culture actuellement définie, c.-à-d.

     System.Globalization.CultureInfo.CurrentCulture. 

    La seule façon simple de procéder consiste à appliquer une méthode d’extension personnalisée.

    En outre, l’autre solution simple consiste à utiliser une autre classe “conteneur” ou “wrapper” pour votre DateTime, c’est-à-dire une classe spéciale avec explicit operator défini qui se traduit automatiquement par DateTime / ssortingng. Mais c’est un territoire dangereux.

    J’ai fait comme ça

     var datetoEnter= DateTime.ParseExact(createdDate, "dd/mm/yyyy", CultureInfo.InvariantCulture); 

    Vous pouvez aussi changer le format en faisant cela

     ssortingng fecha = DateTime.Now.ToSsortingng(format:"dd-MM-yyyy"); 

    // cela change le "/" pour le "-"

    Solution

     DateTime.Now.ToSsortingng("MM/dd/yyyy", CultureInfo.InvariantCulture) 

    Ce qui suit fonctionne pour moi.

     ssortingng strToday = DateTime.Today.ToSsortingng("MM/dd/yyyy");