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
Hey, that sounds like my cloud storage providers auto billing system.
“Your auto renewal will draft on 08/09/23.”
Is that August 9th or September 8th? Literally depends on where the person you ask is in the world.
And you can do a simple sort on the combined number and youve sorted by date.
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!
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
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.
Honestly, even a lowercase t.
Lower case t is rfc3339 compatible https://ijmacd.github.io/rfc3339-iso8601/
Using T as a delimiter is mental
You get used to it.
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.
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.
Same number of pixels, they are just different colours. But you still paid for them.
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.
ISO 8601 is always the correct way to format dates.
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.
Yer, just like the most important day for the seppos… The 4th of July…
I will never stop being impressed by the absolute insanity that is British rhyming slang. Apparently I’ve never heard seppo before, short for septic tank, rhyming with Yank. I just learned a new mildy derogatory term for Americans, nice
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.
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.
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.
Or anyone who has to work with Americans. Especially when you also work with other countries as well. You can’t assume dd/mm/yyyy or mm/dd/yyyy blindly in either case. yyyy-mm-dd solves the issue entirely because both sides at least agree that yyyy-dd-mm isn’t a thing.
You’re almost there, just use - instead of / and everyone knows what you mean
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
10 feels like an October…
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
If someone is putting in the month word for a logging system they can fuck right off though
That way you can sort the months of the year, in order:
- April
- August
- December
- February
- January
- July
- June
- March
- May
- November
- September
I use it all the time when writing dates.
2023-08-09: just read from the end. 9th August 2023.
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
It warms my heart to see so many comments in the camp of “I use it everywhere”. Absolutely same here. You are my people.
ISO 8601 gang. You’d never want to describe dates that way but for file management the convenience is massive.
If you’re using a *NIX command line, something like
mkdir $(date +%F)_photos
is super handy.
I do. Anything I have to put a datecode on, always gets a stamp of YYYYMMDD.
That’s not ISO8601
That is the basic format of ISO8601, hyphens are only used in the extended format which is encouraged to be used in plain text.
See ISO 8601:2004 section 2.3.3 basic format
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.
deleted by creator
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.
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>
Your prayer has been answered! Hear ye:
That looks like it’s only useful for machine-readable dates so it wouldn’t be useful for killing off the JavaScript portion of my “hack.” I cry at night for this
Looks like my code example glitched here. Basically a an HTML span tag with some CSS class for JavaScript to process.
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!
Edit: Yes, I meant common ways, not combinatorically possible ways.
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.
YYYY-DD-MM, DD-YYYY-MM, or MM-YYYY-DD
What the actual fuck
‘hey man, what date is it today?’ ‘well it’s the 15th of 2023, August’
Lmao, I want to try responding like this and see what the reactions are
I want to try this, too. Make it more possessive, though. The 15th of 2023’s August. Really add to the confusion.
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
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.
Where is here that November = 9? Probably somewhere you’ve had a long day
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.
Saying it like that is no problem and not ambiguous. Writing it like that makes no sense though.
deleted by creator
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.
Nah, for everything.
Typisk svensk!
.
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?
PT, Pacific time. /s
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!
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
better than the absolutely deranged MM/DD/YYYY and imo the best when it comes to international communication
ISO 8601 is amazing for data storage and standardizing the date.
Display purposes sure, whatever you feel like
But goddammit if you don’t use ISO 8601 to store dates, I will find you, and I will standardize your code.
epoch not acceptable then?
Epoch is also acceptable if humans don’t need to understand it
I will agree it’s a valid storage but it has to be specified in ms
I actually need to standardize my code. I’ve got “learning F2” as something I want to do soon. The goal: use the exif data of my pictures to create
[date in ISO 8601] - [original filename].[original file type termination]
So a picture taken the third of march 2022 titled “asdf.jpg” would become “2022-3-3 - asdf.jpg”
Help? lol
If you’re on Linux exiftool can get the creation date for you:
exiftool -p '$CreateDate' -d '%Y-%m-%d' FILENAME
, and you could run tgat in a loop over your files, something like:mkdir -p out for f in *.jpg do createdate=$(exiftool -p '$CreateDate' -d '%Y-%m-%d' "${f}") cp -p "${f}" "out/${createdate} - ${f}" done
Obviously don’t justbgo running code some stranger just posted on the internet, especially as I haven’t tested it, but that should copy images from the current directory to a subdirectory called ‘out’ with the correct filenames.
ok I think I finally need to ask
What the fuck is up with the html code? Ive seen this in a lot of posts and it just throws me every time.
I don’t see any HTML when I look at that comment from Lemmy, but kbin seems to make a real mess of rendering code blocks. Basically that bit had a few lines of code they could yse to do what they wanted.
Do you mean strings like
%Y
? They’re not url-encoded values - they’re strftime format directives.
I did this in the past and I would search through my notes… If I had notes ffs.
Can you give more context, what are you using? Language / system / etc?
I’m using NixOS. Ext4 filesystem. As to language, I’m not entirely sure what you mean. If you refer to the character set in the filenames, I think there are no characters that deviate from the English alphabet, numbers, dashes, and underscores.
Oh ok so you’re more so working with folder structure etc, so bash for when you plug-in a card?
I’m thinking in more programmatic terms, there’s definitely some bash scripting you can execute. Or just go balls out and write a service that executes on systemctl