2011-05-24 12 views

Respuesta

0

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; 
-1

Suponiendo que necesita agregar +2: 00 a DateTime. Se puede hacer,

DateTime dateTime = DateTime.Now.AddHours(2.0); 
+0

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í. –

4

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.

2

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/

Cuestiones relacionadas