回覆列表
  • 1 # 使用者2105358119989

    === 先回答問題 ===

    答案是,在12小時制中,12:00 這個時刻的用法存在少量歧義。大部分場合用 12 AM 表示午夜並且代表一天的開始,個別場合用 12 AM 表示午夜並且代表一天的結束;但歷史上存在極少量情況用 12 AM 表示中午。對應的,12 PM 大部分時候表示中午;但極少量情況是午夜。

    和日期一起出現時, 12 AM 表示這天開始的午夜時刻,還是表示這天結束的午夜時刻,兩種用法均存在。從程式設計的角度考慮,前者簡單一點。一般而言,電腦或手機都會是這麼顯示的,基本上這成為了事實標準。但生活中有時不是太靠得住,這點在喜歡使用12小時制的國家(例如美國)特別明顯。例如某電商打算11月11日一整天進行促銷活動,對於中國這樣習慣了24小時製表達的地方一般問題不大,海報文案宣傳就說從11日0點開始好了,基本上沒人會理解錯。可是對於習慣了12小時制的美國,這個就不好表述了:如果說 12 AM on Nov 11th,會有不少人人11日晚上才開始準備然後等到12日凌晨…

    === 然後是解決方案 ===

    最簡單的解決方案當然是用24小時制,每天從 00:00:00 到 23:59:59。強迫症和碼農們一看,無比和諧。

    可是習慣的力量很強大,我的經驗是逼老美習慣24小時制,比逼他們使用公制單位痛苦得多——個人位於某研究機構,和老美同事交流基本說公制單位他們都懂,因為各種儀器上標的都是公制,一般遲鈍下也就換算過來了;但若要預約下午2點開會,跟他們說“at fourteen”打死也不會明白,他們只懂“at two”,連“PM”都經常性省掉。

    美國軍隊倒是使用24小時制;一是打仗約錯了行動時間要出大事,二是美國軍隊遍佈全球。

    老美實際生活中一種常見的解決方案是,避開兩個12:00。所以去看 Apple Watch 的線上搶購開始時間,是太平洋時間(PST)4月10日 12:01 AM。查火車和長途汽車時刻表的出發或到達時間,很多都要麼是 11:59,要麼是 12:01。

    (附圖:灰狗巴士官網 Greyhound.com 查到的華盛頓 Washingtong, DC 到波士頓 Boston, MA 的時刻表,可以看到中午那班的發車時間故意往後挪了1分鐘)

    另一種解決方案,同時也是美國國家標準技術研究所(NIST)的推薦方案是:兩個 12:00 不用 AM 也不用 PM,一個叫做 12:00 (midnight),另一個叫做 12:00 (noon),有時候就省去時刻本身寫成 midnight 和 noon。這個有時用於營業性場所貼出來的開門關門時間等。

    ——不過這個方案依然沒解決另一部分的問題:12:00 (midnight) 是指一天的開始還是結束?也就是,11月11日 midnight 究竟是指和11月10日相鄰的那個時間點,還是和11月12日相鄰的那個?

    (附圖:一家連鎖超市網站 Farm Fresh Supermarkets 提供的各分店營業時間;從上下文可以推斷出 midnight 指的是這天的結束和下一天的開始,這就是開頭說的少量例外情況。)

    === 一點思考:為什麼會搞成這樣? ===

    其實12小時制中12點表示方式的混亂,代表著序數計數法和基數計數法混用的衝突。

    對於日期,年月日都是序數計數,“1月”表示某年的第一個月、“2日”表示某月的第二天,不存在“0年”“0月”“0日”這樣的說法(公元1年12月31日後是公元2年1月1日)。

    對於24小時制,時分秒都是基數計數,“0點”代表一天最初的那個時刻,“02分”代表一小時內開始兩分鐘後的一個時刻。所以容許有“0點”“00分”“00秒”的說法(每天23:59:59後是00:00:00)。

    然則12小時制發生了一個問題:“時”採用了序數計數,從1-12迴圈(或者說是12,1,2,...,10,11迴圈),而“分”“秒”採用的是基數計數,00-59迴圈。兩者混用,交界點就出了問題(11:59:59 AM 後是12:00:00 PM;12:59:59 PM 後是 1:00:00 PM……)。

    再擴充套件思考一下,那麼為什麼正常情況下 年、月、日 採用序數計數,分、秒 採用基數計數,而 時 則是兩者均有呢?

    因為 年-月-日-時-分-秒,越靠前的所代表的時間尺度越大,原本作用更傾向於記錄時間點;而越靠後的所代表的時間尺度越小,原本作用更傾向於記錄時間間隔。

    在最初的生活中,不存在“二月份”是“一月份”的兩倍的概念,所以不需要從而也自然不會使用“0”這個數字。很多考古歷史研究都指出不同文明基本在使用正整數計數後好長一段時間才會有“零”的概念,所以基本所有曆法都不會用0來標記年月日。

    這個時候“年”“月”“日”也被衍生用於記錄時間段間隔,但通常只是個大概值。例如說“3年後”,基本不會是精確到三年後同一日的此時此分此秒。“3日後”精確度要求可能高一些,但一般也很少糾結到具體時刻。

    與此相反,“分”“秒”這樣的單位,從產生開始就用於記錄時間間隔。所以,“兩分鐘”必須是“一分鐘”的兩倍,那麼就必須要有“0分鐘”這個概念。例如說“3分鐘後”,基本上暗含的精度常常會到秒。而“0.3秒”後,更是確鑿的只能是 0.0 - 0.1 - 0.2 - 0.3 這樣。

    然後就是“時”,尺度介於上述兩者之間,所以用於記錄時間點和記錄時間間隔兩者都很常見:例如“某事件發生於2001年2月3日上午4時”,這是時間點,此時不習慣用基數計數法的“0時”,而會說序數計數法的“12時”;再如“男子馬拉松世界紀錄2時02分57秒”,這是時間間隔,此時肯定只能用基數計數法的“0時”,而“12時”則是一個絕對不能混用的概念——中文口語中,會用“X點”和“X小時”區分“時”的這兩種用法;英文要強調差別可以說“X o"clock”和“X hours”;其他語言也有類似的區別表述方案——所以回頭看,“12時”這個概念的混亂的根源可能就在這裡。

    順便說一句,用純基數計數法的24小時制除了沒這麼多麻煩,還有一點好處:需要的時候可以擴充記錄表示法。例如,2014巴西世界盃決賽的直播開始時間是臺北時間7月14日03:00,也可以寫成7月13日27:00(最好括號同時標註),方便大家一看就知道該13日晚上等著。這個是12小時制無論如何也做不到的。

    === 最後的個人感嘆 ===

    24小時制就是好,就是好,就是好……

    美帝單位制各種糟,各種糟,各種糟……

  • 2 # 使用者8461021162376

    當然是AM了! 現實中是12 點開始新的一天 ! 中國古書上記載 其實是11點開始就已經是第2天了!

  • 中秋節和大豐收的關聯?
  • 苦京樂的成語?