Skip to content

Formatting ISO time with Luxon

Using Luxon JS, I’ve been trying to format datetime to output in a certain format, using the native toISO function:

This is what I get:


And this is what I want:


I know that they are both equivalent in terms of unix time and mean the same thing except in a different format, I just want to be able to out the second string rather than the first. I looked through the Luxon docs but was unable to find any arguments/options that would give me what I need.


As other already stated in the comments, you can use 2 approaches:

  • Convert Luxon DateTime to UTC using toUTC:

    "Set" the DateTime's zone to UTC. Returns a newly-constructed DateTime.
  • Use toISOString() method of JS Date.

You can use toJSDate() to get the Date object from a luxon DateTime:

Returns a JavaScript Date equivalent to this DateTime.


const DateTime = luxon.DateTime;
const dt =;
console.log(new Date().toISOString())
<script src=""></script>