¿Alguien puede explicar la diferencia entre System.DateTime y System.DateTimeOffset en C# .NET? El cual es el más adecuado para la construcción de aplicaciones web con usuarios de diferentes zonas horarias?Diferencia entre System.DateTime y System.DateTimeOffset
Respuesta
Un valor de DateTime define una fecha y hora en particular, incluye una propiedad Kind que proporciona información limitada sobre la zona horaria a la que pertenece esa fecha y hora.
La estructura DateTimeOffset representa un valor de fecha y hora, junto con un desplazamiento que indica cuánto difiere ese valor de UTC. Así, el valor siempre identifica de forma inequívoca un único punto en el tiempo.
DateTimeOffset debe considerarse el tipo de fecha y hora predeterminado para el desarrollo de la aplicación, ya que los usos de los valores DateTimeOffset son mucho más comunes que los de los valores DateTime.
Ver más información, ejemplos de código en: http://msdn.microsoft.com/en-us/library/bb384267.aspx
http://msdn.microsoft.com/en-us/library/system.datetime .kind.aspx –
Hay un par de puntos aquí:
información DateTime se debe almacenar en formato UTC en la base de datos:
http://www.4guysfromrolla.com/articles/081507-1.aspx
Cuando se utiliza la información DateTime en su aplicación web que tendrá que convertirlo a la hora local:
DateTime.UtcNow.ToLocalTime();
lo convertirá a la hora local desde la perspectiva del servidor web.
Si tiene un servidor web en un solo lugar, que atiende a clientes en varios países, entonces tendrá que realizar esta operación en JavaScript en el cliente en sí:
myUTCDate.toLocaleTimeString();
http://www.java2s.com/Code/JavaScript/Date-Time/ConvertDatetoLocaleString.htm
DateTimeOffset representa la fecha y hora como fecha y hora UTC.
Así
DateTimeOffset dtoNow = DateTimeOffset.Now;
es igual que
DateTimeOffset dtoUTCNow = DateTimeOffset.UTCNow;
Aquí dtoNow será igual a dtoUTCNow pesar de que uno se ha inicializado a DateTimeOffset.Now y el otro fue a inicializar DateTimeOffset.UTCNow;
So DatetimeOffset es bueno para almacenar la diferencia o Offset w.r.t UTC.
Para obtener más información, consulte MSDN.
- 1. System.DateTime? vs System.DateTime
- 2. no puede convertir implícitamente el tipo System.DateTime? a System.DateTime
- 3. MySQL: diferencia entre ', `,' y"
- 4. Diferencia entre objeto y *?
- 5. Diferencia entre. y #
- 6. ¿Diferencia entre == y caso?
- 7. La diferencia entre $ * y $ @
- 8. Diferencia entre & y &
- 9. El operador '&&' no se puede aplicar a los operandos de tipo 'System.DateTime' y 'System.DateTime'
- 10. VBA: Diferencia entre y y +
- 11. Diferencia entre -Wconversion entre gcc y g ++
- 12. Diferencia entre subprocess.Popen y os.system
- 13. Diferencia entre decimal y decimal
- 14. ¿Diferencia entre trazo y relleno?
- 15. Diferencia entre interrupción y eventos
- 16. Diferencia entre netTcpContextBinding y netTcpBinding
- 17. ¿Diferencia entre brújula y sass?
- 18. Diferencia entre "__method__" y "método"
- 19. Diferencia entre Mealy y Moore
- 20. Diferencia entre HashSet y HashMap?
- 21. diferencia entre ajax y enviar
- 22. Diferencia entre sistema y shell_exec
- 23. Diferencia entre Style y ControlTemplate
- 24. Diferencia entre relativo y absoluto
- 25. Diferencia entre window.location.href y top.location.href
- 26. Diferencia entre strncpy y memcpy?
- 27. diferencia entre SDL y GLUT
- 28. Diferencia entre Javascript y PHP
- 29. Diferencia entre Session y HttpContext.Current.Session
- 30. diferencia entre px y em
duplicado de http://stackoverflow.com/questions/264617/when-would-you-prefer-datetime-over-datetimeoffset – V4Vendetta