如何表示一天的开始和结束时间?
以2008年10月23日为例,它是在2008-10-23 12:00:00 AM和2008-10-23 11:59:59 PM开始的吗?
我想引用一个网站,http://www.cl.cam.ac.uk/~mgk25/iso-time.html
时间的国际标准符号是
hh:mm:ss
其中hh是自午夜(00-24)以来经过的完整小时数,mm是自小时开始(00-59)以来经过的完整分钟数,ss是自完成以来的完整秒数分钟的开始(00-60).如果小时值为24,则分钟和秒值必须为零.
注意:在协调世界时(UTC)等原子时间刻度的插入闰秒期间,有时可能需要ss的值60.正如巴黎国际地球自转服务中心所宣布的那样,每隔几年就会在UTC时间刻度中插入一次闰秒23:59:60,以防止UTC从不太恒定的天文时间尺度UT1徘徊超过0.9秒,由地球的实际旋转定义.在练习中,你不太可能看到时钟显示23:59:60.在闰秒发生后的一段时间内,大多数同步时钟再次重新同步到UTC,或者它们在闰秒时间内暂时减速,以避免超出范围的时间戳可能导致的任何中断.
一个例子是
23:59:59
这代表午夜前一秒的时间.
与日期符号一样,分隔冒号也可以省略,如
235959
通过省略秒或秒和分钟,可以减少精度
23:59, 2359, or 23
也可以在小数点或逗号后添加一秒的分数,例如午夜前5.8毫秒的时间可写为
23:59:59.9942 or 235959.9942
由于每天都以午夜开始和结束,因此两个符号00:00和24:00可以区分可以与一个日期相关联的两个中午.这意味着以下两个符号指的是完全相同的时间点:
1995-02-04 24:00 = 1995-02-05 00:00
如果需要明确的时间表示,00:00通常是午夜而不是24:00的首选表示法.数字时钟显示00:00而不是24:00.
ISO 8601未指定其符号是指定时间点还是时间段.这意味着例如ISO 8601没有定义09:00是指当天的第九个小时的确切结束还是09:00到09:01或其他任何时间.标准的用户必须以某种方式就时间符号的确切解释达成一致,如果这应该引起任何关注.
如果日期和时间显示在同一行上,则始终在日期前写入日期.如果日期和时间值一起存储在单个数据字段中,则ISO 8601建议它们应以拉丁大写字母T分隔,如19951231T235959.
来自美国的读者评论:
这里指定的24小时时间表已经成为世界上几十年来书面语言的事实标准.唯一的例外是一些英语国家,其中仍有1到12小时的符号,并且"am"和"pm"等附加内容被广泛使用.普通的24小时国际标准符号现在甚至在英国也被广泛使用(例如在机场,电影院,公共汽车/火车时刻表等).大多数其他语言甚至没有像"am"和"pm"这样的缩写词,12h符号当然几乎没有用于欧洲大陆的写作或显示时间.即使在美国,军方和计算机程序员也长期使用24小时表示法.
旧的英语12h符号有许多缺点,如:
它比正常的24h符号长.
人类在12小时表示法中比较两次需要更多的时间.
目前尚不清楚,00:00,12:00和24:00是如何表示的.甚至百科全书和风格手册都包含矛盾的描述,一个常见的快速解决方案似乎是完全避免"凌晨12点/下午"而是写"中午","午夜"或"上午12点01分/下午",尽管单词"午夜"仍然不区分00:00和24:00(在给定日期的开始或结束时的午夜).
它让人们常常相信第二天从"上午12:59"到"凌晨1点"的溢出开始,这是一个常见的问题,不仅仅是当人们试图在午夜后不久对VCR的计时器进行编程时.
它不容易与字符串比较操作相比.
对于不知道的人来说,"12:00 am/pm"和"凌晨1:00"之间的时间是否从00:00或12:00开始,即英语12h表示法更难以清除了解.
请考虑12小时是黑暗时代的遗物,当使用罗马数字时,数字零尚未发明,模拟时钟是显示时间的唯一已知形式.请避免今天使用它,特别是在技术应用中!即使在美国,广受尊重的芝加哥风格手册现在建议在出版物中使用国际标准时间表示法.