yyyymmdd yyyy todatetime parse ejemplos convert c# parsing datetime

yyyy - c#Parsing UTC datetime



datetime.parse format dd/mm/yyyy (4)

Creo que necesitas usar ParseExact http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx

Estoy intentando analizar el 23/11/2011 23:59:59 UTC +0800 como un objeto de fecha y hora de ac #, pero estoy probando el método de análisis de fecha y hora estándar o incluso el análisis de fecha y hora exacto.

¿Algunas ideas?


Msdn para la configuración de formato: https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

public class Program { public static void Main() { //original date string _date = "Thu Jan 15 11:32:09 +0200 2015"; // Describes the date format string _parsePattern = "ddd MMM dd HH:mm:ss zzz yyyy"; DateTimeOffset dto = DateTimeOffset.ParseExact(_date, _parsePattern, CultureInfo.InvariantCulture); //last settings Console.WriteLine(dto.ToString("dd.MM.yyyy hh:mm:ss",CultureInfo.CreateSpecificCulture("tr-TR"))); } }

para el método de extensión:

public static DateTime getDateFromFormat(this string _date, string _parsePattern) { DateTimeOffset dto = DateTimeOffset.ParseExact(_date, _parsePattern, CultureInfo.InvariantCulture); return Convert.ToDateTime(dto.ToLocalTime()); }

Para la prueba: https://dotnetfiddle.net/xdnjGy


Según lo escrito por James, puedes probar

var dt = DateTime.ParseExact( "11/23/2011 23:59:59 UTC +0800", "MM/dd/yyyy HH:mm:ss ''UTC'' K", CultureInfo.InvariantCulture);

Obtendrá una fecha en el tiempo "local".


Le sugeriría que analice un DateTimeOffset lugar de un DateTime , como se recomienda en MSDN cuando use un especificador de desplazamiento de zona horaria en la cadena de formato:

using System; using System.Globalization; class Test { static void Main(string[] args) { string text = "11/23/2011 23:59:59 UTC +0800"; string pattern = "MM/dd/yyyy HH:mm:ss ''UTC'' zzz"; DateTimeOffset dto = DateTimeOffset.ParseExact (text, pattern, CultureInfo.InvariantCulture); Console.WriteLine(dto); } }

Si lo desea, puede convertirlo en un valor DateTime en UTC, pero no existe " DateTime con un desplazamiento de 8 horas". Un DateTime se considera universal, local o no especificado, sin ningún lugar para un desplazamiento específico. para ser almacenado.

DateTime es un tipo curioso de varias maneras y puede causar problemas para el desarrollador incauto.