Even in the computer world, it's less standardized than you think. In Win32, you have to deal with at least variant date, filetime, and systemtime. You might also have to deal with DOS representations and/or Unix time. Julian dates are one long-used method of dealing with dates more easily. Database servers provide various date and time functions as SQL extensions. Helpful as they are, they still vary greatly from one DBMS server to te next. Some people, like Egbert Zijlema, have also contributed lots of helpful code.
Standard formats like YYYY-MM-DD are helpful in parsing user input and human readable formats like CSV/TSV. But not so good to calculate or sort. Then you really need Julian or Unix time. They are also more compact. Modified Julian lets you represent a pretty long time with just 2 bytes. Unix time, covering date and time (duh), is traditionally 4 bytes though is starting to move to 64 bits. I've also seen a nonstandard option of Unix time in a signed 32 bit int to cover before and after 1970, albeit with fewer years representable. Anyhoo, once you have a JD, MJD, or Unix time it's just a simple add, subtract, or compare of integers and fairly cross platform. Though variant date is also simple, it's not cross platform nor is usable with most Win32 API's.
If you really like things getting interesting, try expressing the date by the Japanese imperial calendar or the time by Thailand's 6-hour clock. See what kind of reactions you get.
Btw since I was in fifth grade I use 24 hour time as much as people will let me get away with.