I don’t have much experience with Utc Dates, but from what I know, they are in most cases the best way to store dates.
But I’m currently working on a program and I’m in doubt what will be the best way to store my dates. In the program, a user can follow a course for five weeks, starting on the day of registration. Every day he has to fill in a form, which is saved for that day.
Currently, I’m saving the StartDate and EndDate of the course as DateTime (no Utc) Should I save this as Utc, or isn’t it necessary? Because I only need the day (if the user registers on February 8th at 10:04, all the system needs to know is that February 8th is the first day of the course. Is there maybe a better way to store this information? And what would be the best way to save system-event-dates (like user logged in, account created, etc)?
I used to store the form-data also with a DateTime, to calculate on which day it was submitted, but I changed it so it only saves the relative day-number (e.g. day 5).
Btw, I’m using C# and a SQL Server database.
UTC (Coordinated Universal Time) has to do with the time component of a date. It’s a standard way to store DateTimes so that you can compare without worrying about timezones.
If all you are worried about is the Date Component & Timezone/Location is unimportant you could just store it in the database as
2012-02-01 00:00:00You can get the date only component in .NET using
Alternatively if you’re working with some other Date…