Can’t believe he missed the opportunity to add 41332 to the number of ways of how not to write dates.
I must be missing something.
Experience with excel.
I feel better that I don’t understand now.
Excel doesn’t display ISO dates unless you define a custom format.
Excel ::shudder::
They’re trying to make it look fake!
Everyone tries to make it look fake. Fuckers!
I recall writing a script that produces that 01237 with smaller digits around it for the current date. It lists the numbers that occur in the date (0, 2, 3 and 9 for 2023-09-09), the smaller digits show at which position they show up in a YYYYMMDD format (the 0 shows up on positions 2, 5 and 7)
The script has not been pushed online cause it was so dang bad
I’m definitely in the “for almost everything” camp. It’s less ambiguous especially when you consider the DD/MM vs MM/DD nonsense between US dates vs elsewhere. Pretty much the only time I don’t use ISO-8601 is when I’m using non-numeric month names like when saying a date out loud.
Yeah, it’s pretty much everything for me too. The biggest exception being when UI is involved and a longhand date format would be more friendly.
Friendly to who?
The time reapers
In Canada we use MM/DD and DD/MM so you never quite know which it is! There’s an expense spreadsheet I fill out for work that uses one format in one place and the other format in another…
Holy cats, that sounds like a nightmare.
That would ruin my entire day
And you can do a simple sort on the combined number and youve sorted by date.
ISO-8601 over all other formats. 2023-08-09T21:11:00Z
Simple, sortable, intuitive.
Awful to actually read, though. Using T as a delimiter is mental… At least the hyphen provides some white space
Honestly, even a lowercase t with a space before…
deleted by creator
Why are you splitting and delimiting a date object? Convert it to a shallower object if that’s what you need
While you are definitely right, I and many others use yyyy-mm-dd outside of software. And that’s when the T becomes super lame.
Using T as a delimiter is mental
You get used to it.
Too long. Even 2023-08-09 is too long for me. But since I like the readability I use 2023.08.09. Less pixels and more readable then 20230809.
You should be localizing it before displaying to users. Let their browser/platform decide.
Personally I can’t stand the format you’ve shown. I also can’t stand periods being used for phone numbers, e.g.
555.555.5555
.My company has decided to standardized on phone numbers with dots instead of dashes. They’re in email signatures, memos, client proposals. I absolutely hate it and it rubs me the wrong way every time I see it. It’s wrong.
In Germany this is standardized, too. DIN 5008 for phone numbers. Areacode Number-extension. For example 0123 456789-01
I use a standardization library for phone numbers. It makes parsing any user input dead easy, storing it as a standard string (can’t think of the standard name) and then outputting in the country’s respective format. I don’t have to inject a bunch of JavaScript crap that’s like “wrong format” and harass users; the backend sorts it all out.
Although I actually like that format a lot, we use characters to help elicit context. 2023/08/09 is fine since we have been using / for dates for so long. Also it blows my mind why people don’t use : in 24 hour times. 16:40 is great, no am pm bullshit and you immediately know I’m talking time.
Same number of pixels, they are just different colours. But you still paid for them.
Good luck using colons in a filename.
Linux has been able to handle that since the 90s.
Tough luck if you are using NTFS file system. All my homies use EXT4.
btrfs/zfs > ext4
I mean yes, but I haven’t used any of those yet, so I can’t fully agree.
ISO 8601 is always the correct way to format dates.
ISO 8601 is the only correct way to format timestamps.
The intersection of iso8601 and rfc3339.
Christ, do this many people really find iso8601 hard to read? It’s the date and the time with a T in the middle.
Not “many people.” Americans. Americans find it hard to read. I’m not 100% sure but I’m fairly certain everyone else in the world agrees that either day/month/year or year/month/day is the best way to clearly indicate a date. You know, because big to small. America believes month/day/year for some stupid fucking reason.
I’m pretty sure it’s because of the way we say it. Like, “May 6th, 2023”. So we write it 5/6/2023.
That said, I think it’s fucking stupid.
In British English you say the date before the month as well. I know that even saying the month first sounds very jarring too me.
I’m not an American and English isn’t my first language, so the US way to write dates always confused me. Now, I finally understand it! Many thanks, this is legitimately sooooo useful!
I am an American and I use it religiously for the record. Especially for version numbers. Major.minor.year.month.day.hour.minute-commit. It sorts easy, is specific, intuitive, and makes it clear which version you’re using/working on.
Day/month/year is not in the same category as y/m/d. That crap is so ambiguous. Is today August 9th? Or September 8th? Y/m/d to the rescue.
It’s only ambiguous to Americans.
You’re almost there, just use - instead of / and everyone knows what you mean
America believes month/day/year for some stupid fucking reason.
It’s because of Great Britain. We adopted it from them while a bunch of colonies and it regionally spread to others.
America didn’t change, probably because we have been so geographically isolated (relatively speaking), whereas the modern day UK did change to be more like Europe.
People get so goddamn hot and bothered by things that ultimately don’t matter almost like it is a culture war issue. Americans maintain the mm/dd/yyyy format because that’s how speak the dates.
I wouldn’t say it is us Americans who “find it hard to read” if someone from elsewhere in the world sees an American date, knows we date things in the old way they used to date things, and then loses their minds over having to swap day for month. Everyone just wants to be contrarian and circle jerk about ISO and such.
Us devs, on the other hand, absolutely should use the same format of yyyy-mm-dd plus time and time zone offset, as needed. There’s no reason, in this age, for dates to be culturally distinct in the tech space. Follow a machine-first standard and then convert just like we do with all other localizatons.
But hey, if people want to be pedantic, let’s talk about archaic gendered languages which are completely useless and has almost zero consistency.
Bruh even Britain uses day-month-year, even speaks them as “9th of September”.
“September 9th” doesn’t even make sense in English as there is only 1 September in a year.America did this.
There is no excusing that.
Because who cares what day it is without knowing the month first.
Who cares what month it is without knowing the year first
Who cares what year it is without knowing which dimension first
Who cares what dimension it is without knowing which timeline first
Of course, don’t you forget the current month all the time? I know I do!
I actually do, and I know I’m not alone.
How often do you mentally need to update the month in your head though? I can literally tell you.
Ah yes, because all dates you see every day have to do with the current month
I use it all the time when writing dates.
I think it’s fair that programmatic and human readable can be different. If someone is putting in the month word for a logging system they can fuck right off though
As long as they use letter for months, like Jul 09, 2013 its fine. Otherwise prefer a sorted timescale version. Either slow changing to fast changing yyyy mm dd or fast to slow dd mm yyyy.
The letters make no sense to me. Like Jul, Jun, I’m constantly mixing them up. Give me a good solid number like 07 or 10. No mixing that up. Higher numbers come after lower numbers, simple as.
Nah, letters bring another complexity - besides with them Feb gets sorted after Dec.
what
2023-08-09: just read from the end. 9th August 2023.
It warms my heart to see so many comments in the camp of “I use it everywhere”. Absolutely same here. You are my people.
Together with hh:mm(:ss) for times and +hh:mm for timezones. Don’t make me deal with that 12am/pm bullshit that doesn’t make any sense, and don’t make make me look up just what the time difference is between CEST and IST. Just give me the offsets +02:00 and +05:30, and I can calculate that my local time of 06:55+03:30=10:25 in India.
You never know when something might need to become a filename, so you might as well just use ISO 8601 for everything.
Upvoted because I appreciate the exposure for this dating method, but I personally use it for everything. Much clearer for a lot of reasons IMO. Biggest to smallest pretty much always makes the most sense.
I do too, even in notes at work or handwritten stuff at home. I don’t always need to be reminded of the year first, but sometimes it becomes important on older stuff.
Plus when you’re in the US and work with people from Europe, the unambiguous ordering of month and day is a nice safeguard against silly misunderstandings.
…and if I don’t need the year, my eyes simply skip to the dash and continue to read from there.
Nah man. Use 8601 for everything. They’re intrinsically chronologically sortable.
Or unix epoch time
In a programmatic context? Sure.
In an “I want to be able to comprehend this by glancing at it” context: absolutely not.
2023-08-10 15:45:33-04:00
is WAY more human legible than1691696733
.What, you don’t remember your time in Unix timestamps? Filthy casuls.
It’s super easy arithmetic too, just remember ”Pi seconds is a nanocentury.”
Whenever I’m passing a date from a website backend to frontend I’ll usually send it inside something like
<span>
then have JavaScript convert it to a string based on the browser’s localization settings.So many websites I see for error reporting, etc always throw everything out as UTC and it drives me crazy. It would be nice to just have an HTML tag for ISO-8601 (or even UNIX as done here).</span>
Looks like my code example glitched here. Basically a an HTML span tag with some CSS class for JavaScript to process.
There are two ways of writting dates: the “yyyy-mm-dd” one and the wrong one
ISO 8601 ftw. Here’s the date, time, and duration for our next meeting:
2023-08-10T20:00:00PT2H30M
But where is a timezone?
Timezone is optional, and when missing is read as local time.
In my mind, default is UTC unless otherwise specified.
luckily Local time can be any timezone!
PT, Pacific time. /s
nearly forgot that 8601 has support for durations as well
It handles ambiguity too. Want to say something lasts for a period of 1 month without needing to bother checking how many days are in the current and next month?
P1M
. Done. Want to be more explicit and say 30 days?P30D
. Want to say it in hours? Add theT
separator:PT720H
.I used this kind of notation all the time when exporting logged historical data from SCADA systems into a file whose name I wanted to quickly communicate the start of a log and how long it ran:
20230701T0000-07--P30D..v101_pressure.csv
(“
--
” is the ISO-8601 (2004) recommended substitute for “/
” in file names)If anyone is interested, I made this Bash script to give me
uptime
but expressed as an ISO 8601 time period.$ bkuptime P2DT4H22M4S/2023-08-15T02:01:00+0000, 2 users, load average: 1.71, 0.87, 0.68
The fact that “YYYY-MM-DD HH:MM” displays from set to subset is visually satisfying to me. I use the format everywhere.
I use it everywhere too. Screw the naysayers
Not only visually satisfying, but also logically sound
Hell I use it in my diary. It just works
I wish we this for work.
Not on paper documents though. Here in Europe I have to write dd-mm-yyyy.
If you’re writing on paper, 10 August 2023 is superior.
I really wonder how americans were able to fuck this one up. There are three ways to arrange these and two of them are acceptable!
Hmmm more like 6 ways but I get your point
Three ways that people actually use. YYYY-MM-DD, DD-MM-YYYY, and MM-DD-YYYY (ew).
AFAIK no-one does YYYY-DD-MM, DD-YYYY-MM, or MM-YYYY-DD… yet. Don’t let the Americans know about these formats, they might just start using them out of spite.
I’ll avoid those at all cost and go with the new standard of YY-MM-DD-YY. What’s the date today? 20-08-10-23
whoa, take it easy there Satan.
Need more julian dates, YYYY-JJJ.
What, 2023-223 for the 223rd day of the year 2023? That… is oddly appealing for telling the actual progress of the year or grouping. No silly “does this group have 31, 30, 29 or 28 members”, particularly the “is this year a multiple of four, but not of 100, unless it’s also a multiple of 400?” bit with leap days.
You’ll have oddities still, no matter which way you slice it, because our orbit is mathematically imperfect, but it’s a start.
So we need to correct our orbit is what I’m hearing!
That’d be a wack premise for a crazy scientist story
deleted by creator
Twelve ways if you count two-digit years. My nephew was born on 12/12/12 which was convenient.
for the americans, that’s 12/12/12
Thanks bro, I was really confused
My grandmother was born in 1896 and lived to be 102, just long enough for the pre-Y2K computer systems in hospitals to think she was a two-year-old.
Ouch!
I lost about an hour of my life trying to create a historical timeline in MS Excel. Eventually learned this is impossible with dates earlier than 1900.
this guy does combinatorics
deleted by creator
It’s how the dates are typically said, here. November 6th, 2020 = 11/6/2020. [Edit: I had written 9 instead of 11 for November.] (We basically never say the sixth of November. It sounds positively ancient.) It’s easy to use, but I agree that YYYY-MM-DD is vastly superior for organization.
It is a bit of a chicken and egg question though. Because do Americans not say it that way because of the date format or is that the date format because you don’t say it that way?
Because in countries using DD.MM.YY we absolutely do say 6th of November.
That’s probably what happened. Though I do like starting with the larger context when talking about dates, but omitting it when talking about the current month or year.
We basically never say the sixth of November. It sounds positively ancient.
When is your independence day, again?
Anyway, in Australia (and, I suspect, other places that use DD/MM/YYYY) we use “{ordinal} of {month}” (11th of August), “{ordinal} {month}” (11th August), and “{month} {ordinal}” (August 11th) pretty much interchangeably. In writing but not in speaking, we also sometimes use “{number} {month}” (11 August). That doesn’t have any bearing on how we write it short form though, because those are different things. It’s not the defence many Americans seem to think it is of their insane method of writing the short form.
When is your independence day, again?
July 4th, why?
Saying it like that is no problem and not ambiguous. Writing it like that makes no sense though.
Where is here that November = 9? Probably somewhere you’ve had a long day
Oct = 8
Nov = 9
Dec = 10In metric time there are only 10 months per year
Do people outside of the US not say dates like “June first” etc? M/D/Y matches that. It’s really not weird at all, even if the international ambiguity is awful.
In Danish, it’s said like 1st of June.
Flemish here (aka dutch-speaking). We say first June, sixth November etc. English isn’t our native language, so M/D/Y is weird as fuck and completely illogical to us.
Yes it is objectively weird.
When you write down “07/01/1967” are you unaware that it is unclear whether you’re referring to July 1st or January 7th?
And despite the fact that you’re writing something down for the express purpose of communicating information, and you’re choosing to shorten it’s written format to save time and space, you’re ok with either
a) just leaving it ambiguous and communicating poorly
or
b) having to write extra words to give it context, taking up more space than just writing out “July 1st, 1967”?
1967/06/01 clearly communicates we’re starting with the year and going biggest to smallest time increments. There is no ambiguity as to which order it’s ever in, and it’s far shorter than the full written date.
At a fundamental user experience level, it is objectively nonsensical to choose the American date format when your goals are 1) clearly communicating a date and 2) doing it shorter than writing out the words.
I like to do YYDDMM because I’m a monster.
It’s not unclear to americans. “Objectively” is hilarious here. If it’s in the format people expect, then it’s perfectly fine in context. Sorry that US traditions don’t suit your fancy.
It’s definitely confusing in an international context, but well-estsblished conventions don’t change easily.
It’s not unclear to americans. “Objectively” is hilarious here. If it’s in the format people expect, then it’s perfectly fine in context. Sorry that US traditions don’t suit your fancy.
Yes, if you chose the objectively wrong way of doing something and then tell everyone that you’re always going to do it the wrong way, then yes, eventually people will expect you to do it the dumb way. Congratulations. That’s how protocols work. That doesn’t mean that some aren’t objectively worse than others.
That’s how formats work, I hate to break it to you. The ambiguity sucks, but the format itself makes perfect sense given the way americans say dates.
The ambiguity sucks, but the format itself makes perfect sense given the way americans say dates.
My fucking god. Are you really this thick? We all say dates the same.
It’s objectively dumb because it’s the format that results in ambiguity. Again, the point that it’s good cause Americans are familiar with it is a subjective criteria of the format, whereas the ambiguity is an objective one.
Only the combination of formats results in ambiguity. Neither format is ambiguous on its own.
Standardization is good, and if someone were to change it should probably be the US given the apparent worldwide consensus otherwise. That doesn’t make either format good or bad on its own.
What I take issue with is people acting like the US format is some kind of bizarro nonsense when it in fact makes perfect sense in terms of matching spoken dates. That is hardly a weird basis for a format.
Each has its tradeoffs, and which set of tradeoffs is better is a subjective matter. I agree that d/m/y makes the most sense for an international standard (if not y/m/d), but to claim that the US format itself is somehow objectively bad is silly.
In Germany we say things like “we meet on the twelfth fifth” (Zwölfter Fünfter), which is the twelfth day of the fifth month. Often times the year is also shortened to only the last two digits, so it could be twelfth fifth twenty-four in dd-mm-yy format.
Of course we also use the names of the months, but sometimes we just number them.
Nah, for everything.
Typisk svensk!
.
better than the absolutely deranged MM/DD/YYYY and imo the best when it comes to international communication
I’ve been told " You don’t say 6th June, do you?" too many times
In the U.K. we do all the same. Sixth of June.
In the US it’s about 50/50 sixth of June and June sixth.
The amusing thing is that in Swedish you definitely do. Or actually “6:e juni”.
Germany too
Even Americans does as well: “4th of July”.
How the fuck does second largest to smallest to largest make any kind of sense?
YYYY-MM-DD for everything. My PC clock, my phone and even my handwritten notes all use that format.
The only other acceptable format is military notation: DD MMM YYYY.
That’s quirky - how is there anything logical about the military time format?
The 3 "M"s are not numerical, but indicate characters. For example 01 Jan 2023.
Considering how there’s almost no computers anymore with such limited resources that they can’t store a string or convert to one, it’s kind of crazy anybody bothers with the ambiguity of using numbers for the month.
The limited resource is not Compute Power, but Engineer time. Sure, you could ask someone to implement wrappers everywhere in the system so that the display is human-readable - or you could put one label somewhere clarifying the date format to readers.
Implement wrappers everywhere? Why can’t they just write a single function that takes an ISO date a spits out a string (human readable) date? I’d put money down that such a function already exists in almost every library that deals with dates.
That’s why I said “implement” and not just “write”. The process of wiring in that existing function has non-negligible cost, as does keeping it updated/patched.
Sure, it should be pretty small - but it’s non-zero. Is it worth it? That’s a product decision.
Yes spreadsheet apps like excel do this. If I remember correctly MMMM would write the full month. January.
i just write mmmmmmm because you can never have too many m’s.
It’s written like 07 Aug 2013. It’s consistent in character length, doesn’t confuse internationals, doesn’t take much space and is written exactly like being said around here. It’s just not that great for file names.
Yeah, ok. Expanding the month to 3 chars does reduce potential confusion
I feel the need to be pedantic and point out that this is only necessary, however because of the ridiculous degenerate convention of MM DD YY(YY?) used by said country…
Excuse me?! ISO 8601 >> *