Tengo un problema, tengo un DateTimeOffset
y un DateTime
, y quiero saber cómo agregar el Offset al DateTime?cómo agregar un DateTimeOffset a un DateTime en C#?
DateTimeOffset p. Ej. es 02: 00
Tengo un problema, tengo un DateTimeOffset
y un DateTime
, y quiero saber cómo agregar el Offset al DateTime?cómo agregar un DateTimeOffset a un DateTime en C#?
DateTimeOffset p. Ej. es 02: 00
Documentación: http://msdn.microsoft.com/en-us/library/system.datetimeoffset.aspx dice que DateTimeOffset ya contiene tanto un DateTime y un desplazamiento.
Probablemente desee utilizar un TimeSpan en lugar de un DateTimeOffset. TimeSpan se puede agregar a DateTimes.
se puede lograr mediante introducción de los valores correspondientes a AddMinutes
o AddHours
de su DateTime
ejemplo
startDate.AddHours(2)
incrementará el objeto DateTime actual por 2 horas (para disminuir sería -2)
O puede inicializar un objeto Timespan como
TimeSpan ts = new TimeSpan(2,0,0);
Ahora puede agregar esto a su objeto DateTime
startDate= startDate+ ts;
Suponiendo que necesita agregar +2: 00 a DateTime
. Se puede hacer,
DateTime dateTime = DateTime.Now.AddHours(2.0);
El DateTimeOffset
class "representa un punto en el tiempo, expresado normalmente como la fecha y la hora del día, en relación con el Tiempo Universal Coordinado (UTC)." Contiene un valor de DateTime
y un desplazamiento, por lo que si desea agregar el desplazamiento al DateTime
, querrá crear un nuevo DateTimeOffset
usando el constructor y luego usar una de las funciones AddX()
para DateTimeOffset
para modificar el valor de desplazamiento.
var offset = new DateTimeOffset(DateTime.Now);
Ver this blog post para ejemplos sobre cómo convertir de uno a otro, realizar operaciones aritméticas, etc.
Lamentablemente, DateTimeOffset no es lo que una persona normal entendería a partir de su nombre. En pocas palabras, es un DateTime con un desplazamiento (tal vez no exactamente solo, pero lo suficientemente cerca). Imo esta es la peor clase nombrada en todo .NET. El nombre viene directamente de SQL Server afaik. Se puede hacer referencia a esta para más detalles:
http://www.danrigsby.com/blog/index.php/2008/08/23/datetime-vs-datetimeoffset-in-net/
bien, me di cuenta que downvoted erróneamente. ¿Puedes editarlo para poder modificar mi voto? fyi: Tuve problemas al restar una fecha de la fecha mínima del sistema, que no sucederá aquí. –