c# - now - iformatprovider
Conversión de formato de cadena a datetime en mm/dd/aaaa (6)
Está buscando el método DateTime.Parse()
( artículo de MSDN )
Así que puedes hacer:
var dateTime = DateTime.Parse("01/01/2001");
Lo que le dará un objeto escrito DateTime
.
Si necesita especificar qué formato de fecha desea usar, usaría DateTime.ParseExact
( artículo de MSDN )
Que usaría en una situación como esta (donde está usando un formato de fecha de estilo británico):
string[] formats= { "dd/MM/yyyy" }
var dateTime = DateTime.ParseExact("01/01/2001", formats, new CultureInfo("en-US"), DateTimeStyles.None);
Tengo que convertir la cadena en formato mm / dd / aaaa a la variable datetime, pero debería permanecer en formato mm / dd / aaaa.
string strDate = DateTime.Now.ToString("MM/dd/yyyy");
Por favor ayuda.
Lo siguiente funciona para mí.
string strToday = DateTime.Today.ToString("MM/dd/yyyy");
Me gustó esto
var datetoEnter= DateTime.ParseExact(createdDate, "dd/mm/yyyy", CultureInfo.InvariantCulture);
Puedes cambiar el formato haciendo esto
string fecha = DateTime.Now.ToString(format:"dd-MM-yyyy");
// esto cambia el "/"
para el "-"
Necesita una M
mayúscula para la parte del mes.
string strDate = DateTime.Now.ToString("MM/dd/yyyy");
La minúscula m
es para emitir (y analizar) un minuto (como h:mm
).
por ejemplo, una cadena de fecha y hora completa podría verse así:
string strDate = DateTime.Now.ToString("MM/dd/yyyy h:mm");
Observe la diferencia en mayúsculas / minúsculas en mM
.
Además, si siempre tratará con la misma cadena de formato de fecha y hora, puede hacerlo más fácil escribiéndolos como métodos de extensión C #.
public static class DateTimeMyFormatExtensions
{
public static string ToMyFormatString(this DateTime dt)
{
return dt.ToString("MM/dd/yyyy");
}
}
public static class StringMyDateTimeFormatExtension
{
public static DateTime ParseMyFormatDateTime(this string s)
{
var culture = System.Globalization.CultureInfo.CurrentCulture;
return DateTime.ParseExact(s, "MM/dd/yyyy", culture);
}
}
EJEMPLO: Traducir entre DateTime / string
DateTime now = DateTime.Now;
string strNow = now.ToMyFormatString();
DateTime nowAgain = strNow.ParseMyFormatDateTime();
Tenga en cuenta que NO hay manera de almacenar una información de formato DateTime
personalizada para usar como default
como en .NET. La mayoría del formato de cadena depende de la cultura establecida actualmente, es decir
System.Globalization.CultureInfo.CurrentCulture.
La única manera fácil que puedes hacer es rodar un método de extensión personalizado.
Además, la otra forma fácil sería utilizar una clase diferente de "contenedor" o "contenedor" para su DateTime, es decir, alguna clase especial con explicit operator
definido que se traduzca automáticamente desde y hacia DateTime / string. Pero eso es territorio peligroso.
Solución
DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)