If you want to actually know what time zone the user is in, there is no direct way to get it. Despite all of the advances of modern JavaScript, we do not yet have functions to query the browser for the ID of the time zone set on the computer. Detection is often acceptable, but if you want to be precise then you
need to provide your users a timezone picker of some sort.
However, if all you are interested in is displaying the correct time, there is a much easier solution. JavaScript will properly convert to the local date and time. That's actually its default functionality. You simply have to provide it an ISO string with an offset or a Z so it knows how to adjust the input. If you are targeting IE9+ then the built-in Date object will properly parse ISO strings and display them in the local time zone. The only thing it can't do is talk about times in other time zones.
To support older browsers, and to get around many other quirks with the JS Date object, I highly recommend using the moment.js library.
www.momentjs.com. It also provides excellent formatting, parsing, and localization.
So, in summary, if all you care about is displaying a UTC datetime in the correct local timezone of the browser, you really don't need NodaTime at all. You can just send the browser a UTC datetime as an ISO string such as 2013-04-26T14:23:00Z. Load that with moment.js, and then format and display it with moment.js also. It will convert to local time automatically. If you are collecting data from the user, you can also use momentjs to parse that input in javascript, and then ask for the UTC value back to send to the server as an ISO string again.
The scenarios that require knowing the time zone are usually where one user might be working with another user's time. NodaTime is essential in completing that loop. But it doesn't sound like you have that concern.