Search code examples
c#.netdatetimeformattingofx

How do I format DateTime or TimeZone/TimeZoneInfo to display Three letters?


I'm working with a spec that calls for a peculiar Datetime format that I haven't necessarily had to work with yet.

At Process time, an OFX (1 not 2) datetime must be stamped (either DTCLIENT or DTSERVER) in a format like this:
20071015021529.000

however, in the examples it is shown:

20071015021529.000[-8:PST]    

I don't have a problem with the first one using a statement of

DateTime.Now.ToString("yyyyMMddHHmmss.fff")

I can even figure out how to get %z to get the correct offset.

The three letter timezone code is where I'm tripping up. Is there an easy way to get this in .net, or am I going to end up writing code to output and parse what I need?


Solution

  • You need to find out exactly which 3 letter codes it needs. What would Europe/Paris give, for example? Personally, I'd convert the data to UTC and format it that way, unless you actually need to preserve the time zone information.