Was looking for this. Yes. Whenever possible, dates should be specified in a format that is BOTH RFC 3339 and ISO 8601. I’d say both have their quirks, but the intersection of the grammars is machine-parseable and human-readable without (much) legacy baggage or (much) experimental / reserved-for-future-use noise.
Though the way it specifies raw UTC times is odd (8601 uses Z, 3339 uses -00:00), that got changed with RFC 9557 to align with 8601.
It also supports “zoned date times”, where instead of just using the UTC offset, you can also include a timezone identifier, e.g. 2020-01-01T00:00+01:00[Europe/Paris]. Useful if you’re doing calculations on dates but can be ignored otherwise.
It’s in sort order. Even if you use it for things that don’t understand dates, they sort properly because the day is the last part, month is the middle part, and year is the first part. If you include hours, minutes or seconds, the sort order is still preserved.
Speaking of things that don’t understand dates, because there are no slashes, you can easily use it in file names, directories, and anything else that treats slash as a special character. In addition, if you include the time part, because it uses “T” to separate the date and time, it doesn’t use a space, so once again it can be easily used anywhere where a space might cause issues.
ISO is better for archiving and sorting, inarguably so. But dd-mm-yyyy is better for day to day daily life usage, where the day and month are much more important than the year.
Both have their uses, but for different situations. mm-dd-yyyy is just batshit though.
Yes, ISO-8601 is objectively better than YYYY/DD/MM or MM/DD/YYYY or other strange formats. But, because it isn’t the most widely used format, it can be less efficient when there’s no danger of MM/DD vs DD/MM confusion.
If person A is talking to person B and they’re from the same culture, some culture-specific version like DD/MM/YY might be easier for them because it’s what they’re both used to, even if it is objectively inferior. But, if person A is talking to person C who is from a different place/culture things get more challenging because if the day of the month is 12 or under, it’s hard to distinguish between DD/MM or MM/DD. Even if person C knows that person A comes from a place that does DD/MM, they don’t know if person C used the native DD/MM format they’re used to, or translated it to them to MM/DD because person A was trying to make things easy for person C.
One of the advantages of the hyphens in ISO-8601, aside from them working with files, is that hyphens in dates are less common than slashes, so if someone sees 1212-11-12 they’re more likely to understand that it’s an ISO-formatted date. If they see 1212/11/12 it might be a MM/DD date or a DD/MM date.
To be fair, the time separators don’t behave well on all implementations of filesystem access by filename. Need to use underscores or omit them at times.
And unlike most „forbidden characters“ for file names, the colon is actually used in NTFS: to separate the file path from the name of a named fork Alternate Data Stream.
“While Galactus has omniscient knowledge of all current user data providers, it doesn’t have future sight”
Just use EKS to deliver the feature this quarter, and block the OmegaStar migration on “the team gets their shit together” and supports ISO timestamps.
Except I can’t get behind the time part of it, personally. I can see the point of doing GMT with the offset if you’re working across multiple timezones, but it’s overkill for situations where you aren’t.
I think we should all, as a globe, just pick one time zone and use that. I don’t care if my 1:00 pm is the middle of that night. Everyone’s 5:00pm will be 5:00pm. We will learn how to adjust our schedules for the master time zone.
If you work at a company where all of its offices are in the same time zone and you’re time-stamping logs, then it’s more expedient for understanding and placing an event in time against other things to use local time.
Unless everything is already standardized as GMT with offset I guess, but I feel like down that route lies madness.
“I got your email at 20:37:45-7:00” is a few more steps than “I got your email at 1:37PM”.
It’s not a big hurdle, but I try to design for the newest member on the team scrambling in panic rather than a calm cool professional already familiar with conventions.
Now, as soon as we do start dealing with multiple time zones I would just cut my custom time formatting string down to the shorthand to have the scripting language output in the full ISO 8601 format. But until then, being able to easily sort the the date properly and having the time be more human readable is a more “workable” compromise.
Seeing how often I get meeting invites for the wrong time because coworkers ignore my 11 a.m. CDT, and invite me in their timezone, I feel like communicating everything in UTC would be easier, because there could be no confusion.
If you work at a company where all of its offices are in the same time zone
coworkers ignore my 11 a.m. CDT, and invite me in their timezone
PLEASE read the comment you are replying to before submitting your reply.
Even in a single-timezone organization, I think it is still useful to use UTC+offset because it avoids DST confusion and lets the company expand to a second timezone without the team members there feeling second-class. But, GMT+offset does have costs with dealing with people that don’t really think about timezones when scheduling, and those costs might overwhelm any advantages.
Now, as soon as we do start dealing with multiple time zones I would just cut my custom time formatting string down to the shorthand to have the scripting language output in the full ISO 8601 format. But until then, being able to easily sort the the date properly and having the time be more human readable is a more “workable” compromise.
At least it saves a “the” and an “of”, unless dd/mm countries say “It’s 3rd June” or “3 June”. Do you not say “the 3rd of June”? In the US you can say “June 3rd”. Plus it’s natural to line up with yyyy/mm/dd order but in most daily conversations you don’t need to say the year.
July 4th is a funny example cause you can say “the 4th” and everyone knows what you mean, but people also say “4th of July” to give it more importance.
That’s a lot less common for other dates, Americans aren’t commonly saying “25th of December”.
same. even if they give a different format, because fuck that I’m not thinking about what arbitrary format you want me to use, I see a date field and I’m filling it out with the proper date format
In spoken conversation it doesn’t really matter. In many contexts you could probably just say “Want to go on the third?” and the person you’re talking to will understand you mean August the third of this current year.
It does to me. mm-dd is not used at all in my native language and would be considered grammatically incorrect. Since English doesn’t prescribe it I have no reason to fully accept it.
Note that I still prefer to write ISO 8601 dates but my spoken dates are big-endian.
Middle-endian dates like “June 15th 2046” are just bad, of course.
I commented earlier that having to say more words is inefficient, but what yiu said made me think… In other languages I know, it’s basically spoken as "3rd August’… Eliminating the inefficiency. It’s really more English’s general inefficiency that irks me, more so than the order of the dates lol
Yes as well (Also insane) but its universally ledgable, sorts on computers easier, accomodates timezones and sub-second units. ISO-8601 should be the universal standard, and anyone who says otherwise better show up with a white paper explaining why. None of this dumb american format or javascript web form bullshit, language is about specificity, BE SPECIFIC. Unless you want to go off the rails and talk about relativity, time dialation and reference points… But thats all above my pay grade. ISO-8601 is a golden example of “good enough for normal people”. Thank you for coming to my TEDtalk.
I shorthand it verbally unless I’m giving a full date, but typed, it’s almost always yyyy-MM-dd HH:mm:ss (whichever part of that is relevant).
I do this because I believe it’s the most logical, it sorts properly without having to use a datetime library, and it can’t be confused with another system (is 12-1-2026 in the future or the past? No way to know just by looking at it).
Just shortening it to MM-dd could cause confusion with anyone not in the US so I’ll typically include the year as well (also useful if I wind up having to look at old notes or emails to not have to figure out the year I meant … Which has happened more than once …)
Only a truly insane person would use mm-dd-yy in conversation. “Want to go to a hockey game with me ten seventeen twenty-six?” Or worse, “…oh four oh seven twenty-seven.” Pure madness.
Conversationally, mmm d yy or d mmm yy (usually just shortened to mmm d or d mmm) is where it’s at.
yes, I’ll send dates as mm-dd in my personal life as well. only when discussing exact dates for scheduling things, otherwise in conversational messaging it’s mmmm dd
like if we’re talking about when we want to go do x activity, I’ll propose August 8th. but if we’re scheduling trip dates, it’s 08-08 through 09-12
ISO 8601
ISO 8601
ISO week date
👆
RFC 3339 FTW!
Open source, and no ambiguous options grandfathered in.
Was looking for this. Yes. Whenever possible, dates should be specified in a format that is BOTH RFC 3339 and ISO 8601. I’d say both have their quirks, but the intersection of the grammars is machine-parseable and human-readable without (much) legacy baggage or (much) experimental / reserved-for-future-use noise.
Though the way it specifies raw UTC times is odd (8601 uses
Z, 3339 uses-00:00), that got changed with RFC 9557 to align with 8601.It also supports “zoned date times”, where instead of just using the UTC offset, you can also include a timezone identifier, e.g.
2020-01-01T00:00+01:00[Europe/Paris]. Useful if you’re doing calculations on dates but can be ignored otherwise.This is the only way to date.
No need for dashes
Except for, yknow, human readability
Are a lots of things gonna break in about 8000 years?
I’ve recently noticed web forms and appointment emails start to use that format. Maybe web devs are sneaking it in bit by bit.
As for why it’s better:
ISO is better for archiving and sorting, inarguably so. But dd-mm-yyyy is better for day to day daily life usage, where the day and month are much more important than the year.
Both have their uses, but for different situations. mm-dd-yyyy is just batshit though.
Uh, no.
It literally just depends to what you are used to.
Yes, ISO-8601 is objectively better than YYYY/DD/MM or MM/DD/YYYY or other strange formats. But, because it isn’t the most widely used format, it can be less efficient when there’s no danger of MM/DD vs DD/MM confusion.
If person A is talking to person B and they’re from the same culture, some culture-specific version like DD/MM/YY might be easier for them because it’s what they’re both used to, even if it is objectively inferior. But, if person A is talking to person C who is from a different place/culture things get more challenging because if the day of the month is 12 or under, it’s hard to distinguish between DD/MM or MM/DD. Even if person C knows that person A comes from a place that does DD/MM, they don’t know if person C used the native DD/MM format they’re used to, or translated it to them to MM/DD because person A was trying to make things easy for person C.
One of the advantages of the hyphens in ISO-8601, aside from them working with files, is that hyphens in dates are less common than slashes, so if someone sees 1212-11-12 they’re more likely to understand that it’s an ISO-formatted date. If they see 1212/11/12 it might be a MM/DD date or a DD/MM date.
Start using it and suddenly it becomes most used. It is the little acts that make a difference.
mm-dd-yyyy is sorted by size of number sets. It is no more or less arbitrary than sorting it by size of timespan.
ISO 8601 is the only measurably better format. Otherwise just use whatever you have in your area and don’t be a snob about it.
To be fair, the time separators don’t behave well on all implementations of filesystem access by filename. Need to use underscores or omit them at times.
And unlike most „forbidden characters“ for file names, the colon is actually used in NTFS: to separate the file path from the name of a
named forkAlternate Data Stream.See, I hadn’t even read about this. TIL :)
Still, I use ISO8601 all the time when it comes to written dates :)
This is the way.
This is the way.
This is the (year-month-) day.
RFC 3339
ISO would be great, but sadly OmegaStar doesn’t support ISO timestamps yet.
“While Galactus has omniscient knowledge of all current user data providers, it doesn’t have future sight”
Just use EKS to deliver the feature this quarter, and block the OmegaStar migration on “the team gets their shit together” and supports ISO timestamps.
Wtf is an omega star?
The last star of the Greek alphabet? 🤷🏻
A Warrior Cats and Omegaverse crossover character
What’s a warrior cat
All cats when they get the zoomies
💯
Except I can’t get behind the time part of it, personally. I can see the point of doing GMT with the offset if you’re working across multiple timezones, but it’s overkill for situations where you aren’t.
There’s no way to predict how a date will be used. No reason not to be flexible. No reason to break convention.
That’s how my brother missed a train: the linux planner used GMT while the local train company planner used assumed local time…
So I disagree
I think we should all, as a globe, just pick one time zone and use that. I don’t care if my 1:00 pm is the middle of that night. Everyone’s 5:00pm will be 5:00pm. We will learn how to adjust our schedules for the master time zone.
Modern problems.jpg
Yeah, the time part should obviously be written in Swatch Internet Time, he writes at @910.
How so, out of curiosity?
If you work at a company where all of its offices are in the same time zone and you’re time-stamping logs, then it’s more expedient for understanding and placing an event in time against other things to use local time.
Unless everything is already standardized as GMT with offset I guess, but I feel like down that route lies madness.
“I got your email at 20:37:45-7:00” is a few more steps than “I got your email at 1:37PM”.
It’s not a big hurdle, but I try to design for the newest member on the team scrambling in panic rather than a calm cool professional already familiar with conventions.
Now, as soon as we do start dealing with multiple time zones I would just cut my custom time formatting string down to the shorthand to have the scripting language output in the full ISO 8601 format. But until then, being able to easily sort the the date properly and having the time be more human readable is a more “workable” compromise.
Seeing how often I get meeting invites for the wrong time because coworkers ignore my 11 a.m. CDT, and invite me in their timezone, I feel like communicating everything in UTC would be easier, because there could be no confusion.
PLEASE read the comment you are replying to before submitting your reply.
Even in a single-timezone organization, I think it is still useful to use UTC+offset because it avoids DST confusion and lets the company expand to a second timezone without the team members there feeling second-class. But, GMT+offset does have costs with dealing with people that don’t really think about timezones when scheduling, and those costs might overwhelm any advantages.
Did you actually read beyond the first line?
Not shit enough for a shitpost.
It’s great, and standard for software. But do any of y’all communicate dates like this in your personal life?
Like “want to go to a hockey game with me 2026-10-17?” As cursed as mm-dd-yy is, it feels a lot more natural in conversation.
Say when is that independence day of yours?
There is nothing ‘natural’ about mm/dd/yy, it is just what you are used to - end of story.
At least it saves a “the” and an “of”, unless dd/mm countries say “It’s 3rd June” or “3 June”. Do you not say “the 3rd of June”? In the US you can say “June 3rd”. Plus it’s natural to line up with yyyy/mm/dd order but in most daily conversations you don’t need to say the year.
I knew I would eat shit for that comment.
July 4th is a funny example cause you can say “the 4th” and everyone knows what you mean, but people also say “4th of July” to give it more importance.
That’s a lot less common for other dates, Americans aren’t commonly saying “25th of December”.
Ok, let me rephrase that: See how 4th of July feels natural for you to say or hear?
That’s because you’re used to it.
That’s how it is for the rest of us using DD-MM-YYYY, but for all dates.
Because that’s what we are used to. And yes we use it in everyday life and in every conversation.
That is all there is to it.
I always feel like rolling my eyes whilst Americans slowly drawl the month at me before telling me the day of the month I wanted
“Dec…”
Oh god, you’re American
“…em…”
Here we go, we’re going for it
“…berrrrr”
Yes, we’re getting there
“…rrrrrrr”
Hopefully we get to the date, or I’m going to have to ask someone else
[inhales]
Why did it have to be an American
“Twenty….”
Please not the year
“…-seventh”
Hallelujah, thank the lord, we have a date. Oh Jesus, why such an ordeal. So much time for stupid intrusive thoughts. What was it again…?
Admittedly like most of this is my failings as a person
What you are used to inevitably becomes more natural for you subjectively…
I absolutely fill out dates in iso 8601 any time I’m required to sign a form.
I like your style. I’ll start doing that, (unless a format is specified, because I’m no protocol breaker.)
same. even if they give a different format, because fuck that I’m not thinking about what arbitrary format you want me to use, I see a date field and I’m filling it out with the proper date format
dd-mm feels completely natural to say in conversation. “Do you want to go to a X with me on the 3rd of August”
No, but I’ll go on August 3rd.
But… what YEAR???
Does “August 3rd” sound unnatural to you?
In spoken conversation it doesn’t really matter. In many contexts you could probably just say “Want to go on the third?” and the person you’re talking to will understand you mean August the third of this current year.
It does to me. mm-dd is not used at all in my native language and would be considered grammatically incorrect. Since English doesn’t prescribe it I have no reason to fully accept it.
Note that I still prefer to write ISO 8601 dates but my spoken dates are big-endian.
Middle-endian dates like “June 15th 2046” are just bad, of course.
I commented earlier that having to say more words is inefficient, but what yiu said made me think… In other languages I know, it’s basically spoken as "3rd August’… Eliminating the inefficiency. It’s really more English’s general inefficiency that irks me, more so than the order of the dates lol
Its fine but its unnecessarily long. Its just one syllable/word but its extra.
Two words when used in a sentence. “The 3rd of August” vs “August 3rd”
I feel like you would only say “of August” if someone is staring at you in abject horror completely untethered from the time stream
Yeah I’ve been in those calendar meetings too
Yes (I’m insane)
Yes as well (Also insane) but its universally ledgable, sorts on computers easier, accomodates timezones and sub-second units. ISO-8601 should be the universal standard, and anyone who says otherwise better show up with a white paper explaining why. None of this dumb american format or javascript web form bullshit, language is about specificity, BE SPECIFIC. Unless you want to go off the rails and talk about relativity, time dialation and reference points… But thats all above my pay grade. ISO-8601 is a golden example of “good enough for normal people”. Thank you for coming to my TEDtalk.
Yes, kind of.
I shorthand it verbally unless I’m giving a full date, but typed, it’s almost always yyyy-MM-dd HH:mm:ss (whichever part of that is relevant).
I do this because I believe it’s the most logical, it sorts properly without having to use a datetime library, and it can’t be confused with another system (is 12-1-2026 in the future or the past? No way to know just by looking at it).
Just shortening it to MM-dd could cause confusion with anyone not in the US so I’ll typically include the year as well (also useful if I wind up having to look at old notes or emails to not have to figure out the year I meant … Which has happened more than once …)
Only a truly insane person would use mm-dd-yy in conversation. “Want to go to a hockey game with me ten seventeen twenty-six?” Or worse, “…oh four oh seven twenty-seven.” Pure madness.
Conversationally, mmm d yy or d mmm yy (usually just shortened to mmm d or d mmm) is where it’s at.
There’s no reason the two need to be the same. We don’t talk in heximal either
I spell out the month, but I’m fancy
yes, I’ll send dates as mm-dd in my personal life as well. only when discussing exact dates for scheduling things, otherwise in conversational messaging it’s mmmm dd
like if we’re talking about when we want to go do x activity, I’ll propose August 8th. but if we’re scheduling trip dates, it’s 08-08 through 09-12