Estoy intentando guardar el formato de fecha y hora actual de C# y convertirlo a un formato de fecha de SQL Server como aaaa-MM-dd HH:mm:ss
para poder utilizarlo en mi consulta UPDATE
.
Este fue mi primer código:
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
La salida de la fecha está bien, pero la hora es siempre "12:00:00" así que cambié mi código a lo siguiente:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.TimeOfDay.ToString("HH:mm:ss");
Me dio este error de compilación:
FormatException was unhandled
Y me sugirió que tenía que parsear. Así que traté de hacer esto a mi código según mi investigación aquí en StackOverflow:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss");
o
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss");
Pero me dice que es un método que no es válido para el contexto dado. He intentado buscar soluciones a mi problema y llevo dos horas atascado. Aún soy un poco novato en C#, ¿pueden ayudarme por favor?
pruebe esto a continuación
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
Tu problema está en la propiedad "Date" que trunca DateTime
a fecha solamente.
Podrías poner la conversión así:
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss"); // <- No Date.ToString()!