I found the question about converting epoch time to normal time, but I'm having two problems:
- When I run DateTime.newInstance(1391529600 * 1000) I am getting the wrong answer
- I want to convert normal time to epoch time
1: I have been typing the following into Execute Anonymous:
system.debug(DateTime.newInstance(1391529600 * 1000));
By my calculations (and some websites I found) that should give me 4 Feb, 2014, 16:00:00 GMT.
Apex gives me
1969-12-31 12:56:36
Clearly, this is incorrect (and it's even before 1/1/1970). Can anyone replicate my situation?
2: I also want to change the current datetime (GMT) to epoch time, returning the number of seconds or milliseconds since 1/1/1970. I could break things into parts, but that seems an awful lot of script statements to do something that should be fairly easy, I'd hope.
Thanks for the help!
system.debug(Int foo = 1391529600; DateTime.newInstance(foo * 1000));
fails whereassystem.debug(Long foo = 1391529600; DateTime.newInstance(foo * 1000));
will work correctly.