Aquí está mi código, hay un error con respecto a la última línea que indica que
"No se puede convertir implícitamente el tipo 'string' a 'System.TimeSpan'
//Getting the current date and time
DateTime dateTime = DateTime.Now;
//Date
var date = dateTime.Date;
//Time
var time = dateTime.TimeOfDay;
time = time.ToString("HH:mm");
3 respuestas
En la tercera línea de su código, declaró la variable denominada tiempo (var time = dateTime.TimeOfDay;
) usando var.
Var. Esta palabra clave hace referencia a un tipo de manera implícita. Alias cualquier tipo. El compilador de C # determina el tipo con alias. Esto no tiene penalización de rendimiento.
Por lo tanto, el tipo de datos de tiempo variable es TimeSpan porque el método TimeOfDay()
devuelve un TimeSpan
y luego, en la línea siguiente, trató de asignarle al tiempo un valor de cadena que en un lenguaje de tipo seguro como C # devuelve un error. Simplemente debe declarar otro valor:
//Getting the current date and time
DateTime dateTime = DateTime.Now;
//Date
var date = dateTime.Date;
//Time
var time = dateTime.TimeOfDay;
var timeOfDayStr = time.ToString("HH:mm");
Si desea obtener la hora en formato de 24 horas, debe hacer esto:
var TimeIn24HrFormat = DateTime.Now.ToString("HH:mm");
Por hora y minuto, puede hacer simplemente:
String.Format("{0:HH:mm}", DateTime.Now)
Del mismo modo: si quieres el formato completo:
String.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)
Su variable de tiempo es un tipo de intervalo de tiempo, pero está tratando de asignarle una cadena. C # es un lenguaje de tipo estático, por lo que las variables no pueden cambiar el tipo durante el tiempo de ejecución. Simplemente haga una nueva variable para su cadena de tiempo:
var time = dateTime.TimeOfDay;
var time24hr = time.ToString("HH:mm");
Nuevas preguntas
c#
C # (pronunciado "see sharp") es un lenguaje de programación multi-paradigma de alto nivel, estáticamente tipado desarrollado por Microsoft. El código C # generalmente se dirige a la familia de herramientas y tiempos de ejecución .NET de Microsoft, que incluyen .NET Framework, .NET Core y Xamarin, entre otros. Use esta etiqueta para preguntas sobre el código escrito en las especificaciones formales de C # o C #.