visual hora formato fecha cambiar aaaa c# asp.net

hora - formato fecha datetime c#



¿Cómo puedo obtener formatos de fecha y hora basados en información de cultura? (5)

// Prueba esto puede ayudar

DateTime myDate = new DateTime(); string us = myDate.Now.Date.ToString("MM/dd/yyyy",new CultureInfo("en-US"));

o

DateTime myDate = new DateTime(); string us = myDate.Now.Date.ToString("dd/MM/yyyy",new CultureInfo("en-GB"));

Lo que quiero es ... Si la cultura es en-US entonces

string dateFormat="MM/dd/yyyy"; string timeFormat="24.00 hrs";

Si la cultura es en-GB entonces

string dateFormat="dd/mmyyyy"; string timeFormat="24.00 hrs";

y así sucesivamente para otros países ..

Ahora, ¿cómo obtengo estos valores de formato de fecha y hora? ¿Cuáles son las normas? ¿Cómo todos los países utilizan formatos de fecha / hora similares y cuáles no?

ok intenté esto: -

DateTime myDate = new DateTime(); string us = myDate.ToString(new CultureInfo("en-US"));

la cadena us obtiene el valor = 1/1/0001 12:00:00 AM

Ahora, ¿cómo extraigo "dd / mm / aaaa" y "24.00 horas" de esto ... en mi columna de Formato de fecha en mi tabla ... Quiero almacenar CUERDAS como dd / mm / aaaa o mm / dd / yyyy NO fechas. En mi columna de TimeFormat en la tabla, los valores para ser tiendas también son STRINGS, como necesito almacenar "24: 00hrs" o "12: 00hrs"

¿Cómo hago esto ahora?

** usando ShorTimePattern devuelve estos valores como

h:mm tt and HH:mm

Si quiero almacenar los valores en mi DB exactamente como "24: 00hrs" y "12: 00hrs", ¿cómo uso estos valores ... h: mm tt y HH: mm cuál es para el formato de 24 horas y cuál para 12 horas de formato? **

ok, también hay otro problema ... Quiero que la información sobre el separador decimal y el separador de miles también se base en el CultureInfo ... ¿cuál es la propiedad para eso?


Intente establecer un CultureInfo personalizado para CurrentCulture y CurrentUICulture :

Globalization.CultureInfo customCulture = new Globalization.CultureInfo("en-US", true); customCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd h:mm tt"; System.Threading.Thread.CurrentThread.CurrentCulture = customCulture; System.Threading.Thread.CurrentThread.CurrentUICulture = customCulture; DateTime newDate = System.Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd h:mm tt"));


Puede echar un vistazo a la propiedad DateTimeFormat que contiene los formatos específicos de cultura.


Puede recuperar las cadenas de formato de la propiedad DateTimeFormat CultureInfo , que es una instancia de DateTimeFormatInfo . Esto a su vez tiene propiedades como ShortDatePattern y ShortTimePattern , que contienen las cadenas de formato:

CultureInfo us = new CultureInfo("en-US"); string shortUsDateFormatString = us.DateTimeFormat.ShortDatePattern; string shortUsTimeFormatString = us.DateTimeFormat.ShortTimePattern; CultureInfo uk = new CultureInfo("en-GB"); string shortUkDateFormatString = uk.DateTimeFormat.ShortDatePattern; string shortUkTimeFormatString = uk.DateTimeFormat.ShortTimePattern;

Si simplemente desea formatear la fecha / hora usando CultureInfo , páselo como su IFormatter cuando convierta DateTime a una cadena, usando el método ToString :

string us = myDate.ToString(new CultureInfo("en-US")); string uk = myDate.ToString(new CultureInfo("en-GB"));


Use un CultureInfo como este, desde MSDN:

// Creates a CultureInfo for German in Germany. CultureInfo ci = new CultureInfo("de-DE"); // Displays dt, formatted using the CultureInfo Console.WriteLine(dt.ToString(ci));

Más información en MSDN . Here hay un enlace de todas las diferentes culturas.