I am looking to use Noda time for a fairly simple application, however I am struggling to find any documentation to handle a very basic use case:
I have a logged in user, and will be storing their preferred timezone in the settings. Any date/times that come from the client come in a known text format (e.g. "dd/MM/yyyy HH:mm"), with a known time zone id (e.g. "Europe/London"). I was planning on converting these times to UTC/Noda Instants to prevent the need to store the time zone info with each date in the database.
Firstly, does this sound like a sensible approach? I am free to change pretty much anything, so would be happy to be set on a better/more sensible course. The database is MongoDb, using the C# driver.
What I have tried is along these lines, but struggling to get over the first step!
var userSubmittedDateTimeString = "2013/05/09 10:45";
var userFormat = "yyyy/MM/dd HH:mm";
var userTimeZone = "Europe/London";
//noda code here to convert to UTC
//Then back again:
I know someone will ask "what have you tried", to which all i have is various failed conversions. Happy to be pointed to an "Getting started with Noda time" page!
That's fine if you don't need to know the original time zone later on. (e.g. if the user changes time zone, but still wants something recurring in the original time zone).
Anyway, I would separate this out into three steps:
LocalDateTime
ZonedDateTime
Instant
Something like: