yyyymmdd yyyy todatetime parse now formato fecha ejemplos convert c# .net datetime

yyyy - datetime.parse c# ejemplos



Cómo convertir DateTime? a DateTime (11)

Quiero convertir un DateTime ( DateTime? ) A DateTime para un DateTime , pero me aparece un error:

"Cannot implicitly convert type ''System.DateTime?'' to ''System.DateTime''. An explicit conversion exists (are you missing a cast?)"

He intentado lo siguiente:

DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null ? DateTime.Now : _objHotelPackageOrder.UpdatedDate;


¿Qué tal lo siguiente?

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate.HasValue ? _objHotelPackageOrder.UpdatedDate.value : DateTime.Now;


Aquí hay un fragmento que utilicé dentro de un Presentador llenando una vista con una Fecha / Hora Nullable

memDateLogin = m.memDateLogin ?? DateTime.MinValue


Debe llamar a la propiedad Value del DateTime que se puede agregar como nulo. Esto devolverá un DateTime.

¿Asumiendo que UpdatedDate es DateTime? , entonces esto debería funcionar:

DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null ? DateTime.Now : _objHotelPackageOrder.UpdatedDate.Value;

Para que el código sea un poco más fácil de leer, puede usar la propiedad HasValue lugar de la verificación null :

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate.HasValue ? _objHotelPackageOrder.UpdatedDate.Value : DateTime.Now;

Esto se puede hacer aún más conciso:

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate ?? DateTime.Now;


Desea utilizar el operador nulo-coalescente , que está diseñado para este propósito.

Utilizándolo terminas con este código.

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate ?? DateTime.Now;


MS ya hizo un método para esto, por lo que no tiene que usar el operador coalescente nulo. No hay diferencia en la funcionalidad, pero es más fácil para los no expertos obtener lo que está sucediendo de un vistazo.

DateTime updatedTime = _objHotelPackageOrder.UpdatedDate.GetValueOrDefault(DateTime.Now);


Prueba esto

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate ?? DateTime.Now;


Prueba esto:

DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null ? DateTime.Now : _objHotelPackageOrder.UpdatedDate.Value;


Puedes usar un elenco simple:

DateTime dtValue = (DateTime) dtNullAbleSource;


También puedes probar las propiedades Nullable (T) :

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate.HasValue ? DateTime.Now : _objHotelPackageOrder.UpdatedDate.Value;


en lugar de usuario el siguiente es mucho mejor

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate == null ? DateTime.Now : (DateTime)_objHotelPackageOrder.UpdatedDate;


DateTime UpdatedTime = _objHotelPackageOrder.HasValue ? _objHotelPackageOrder.UpdatedDate.Value : DateTime.Now;