Skip to content
Advertisement

Convert time from specific timezone to UTC (ColdFusion/Java)

We need to take a datetime string (which we’ve already received and validated from user form inputs), treat it as being specific to the America/New_York timezone, and convert it to UTC.

We’re currently running ColdFusion 2018, which is limited in its native datetime functionality. So I wanted to tap into the underlying Java. Most CF-related solutions are pre-java.time, so I attempted my own based on other Stack Overflow answers. Hoping someone with more Java knowledge can review this solution. (This is in CF Script, but it should be pretty self-documenting.) Is this correct and is there a better/more efficient solution?

JavaScript

Advertisement

Answer

tl;dr

You said:

The question is more about taking a datetime string (e.g. ‘2022-06-29T14:30:00’), adding the America/New_York timezone to it, and converting it to UTC.

JavaScript

See this code run live at Ideone.com.

2022-06-29T18:30:00Z

Details

You neglected to mention your database engine and the precise type of your column. So we cannot give a full answer. I can address part of it.

So the goal is to take the user’s date & time, treat it like America/New_York, and convert it to UTC.

JavaScript

Trap for DateTimeParseException to detect faulty inputs.

Do similarly for LocalTime.

JavaScript

Combine with time zone to determine a moment.

JavaScript

Adjust to UTC.

JavaScript

All of this has been covered many many times on Stack Overflow. Search to learn more.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement