cancel
Showing results for 
Search instead for 
Did you mean: 

Can't create a non-UTC Date object to call .getTime() on

shane
New Contributor II

I need to pull data from an API that needs a timestamp as a parameter. This API retrieves data from a system (not in my control) that is based in the America/Las_Angeles timezone. I have tried for hours to find a way to generate a non-UTC Date object (LocalDateTime object doesn’t contain a getTime() method) so that I can call .getTime() but I seem to only be able to get a string value of the converted UTC Date into my desired timezone.

I tried to find a way to use the getTimezoneOffset() function, but I need a non-UTC Date object in order to get the valid offset from so I’m back to square one.

Can anyone provide an example of creating a Date object in Snap with a non-UTC timezone that I can call getTime()? (I just need to generate a timestamp based on a PST Date with a 00:00:00 time)

I tried creating the converted string (which I can’t get to include the timezone, because even though the docs point to SimpleDateFormat (Java Platform SE 7 ) as a reference I cannot get the value output for any of the time zone components) and appending ’ PST’ but it still created a UTC Date.

I have spent way too long trying to do something so simple that is a couple lines of code in almost any language and needs some guidance lol.

15 REPLIES 15

tstack
Former Employee

I’m not sure what you’re asking here since getTime(), by definition, returns the epoch timestamp, which is UTC.

shane
New Contributor II

I don’t think you read the issue fully. I DON’T want UTC based timestamp and you cannot call getTime() on LocalDateTime or LocalDate which is used to create a non-UTC Date object. I cannot find a way to get the timestamp for a non-UTC Date.

It doesn’t matter I guess as I altered the called service to accommodate things.

tstack
Former Employee

In general, a timestamp is the number of seconds/milliseconds from the epoch, where the epoch is defined as January 1st, 1970 00:00:00 UTC. So, a timestamp is pretty much always going to be based in UTC. Asking for a non-UTC timestamp is highly unusual.

Supratim
Contributor III

@shane

You can use Date.now().toLocaleDateTimeString(’ { “timeZone”:“EST” , " format" :" YYYY-MM-DD" }')