什有些程言中的月0始, 日1始? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
013231
V2EX    编程

什有些程言中的月0始, 日1始?

  •  
  •   013231 2013-07-11 06:10:58 +08:00 3717 次点击
    这是一个创建于 4549 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有些程言表示日期的型非常奇怪, 月份0始, 日期1始. 例如Javascript的Date, Java的java.util.Calendar, C的tm.
    追根溯源的, Javascript和Java的奇怪特性似乎是C承下的. 那C年什要成子呢?
    9 条回复    1970-01-01 08:00:00 +08:00
    013231
        1
    013231  
    OP
       2013-07-11 06:12:52 +08:00
    @Livid 本建放入"技术"分类.
    nybux
        2
    nybux  
       2013-07-11 08:00:18 +08:00
    一月二月,只是中国人的说法。老外点月份不是按数字点的,所以月份从0开始。而日期都是按数字点的。
    alexrezit
        3
    alexrezit  
       2013-07-11 08:03:09 +08:00
    @nybux
    但是老外也有用数字表示月份的习惯嘛...
    gDD
        4
    gDD  
       2013-07-11 08:03:33 +08:00 via Android
    @nybux 但是2001-01-01这种写法的时候还是需要按数字点的啊。
    013231
        5
    013231  
    OP
       2013-07-11 08:12:49 +08:00
    @nybux 法恐怕解不通. 且不程月份是用字表示的, 如果你在stackoverflow上搜索就知道, 多外人同不解; 另外, 也有很多程言(例如C#和Python)月份就是1始的.
    nybux
        6
    nybux  
       2013-07-11 08:16:12 +08:00
    nybux
        7
    nybux  
       2013-07-11 08:17:15 +08:00
    years and days are considered numbers in spoken language, but months have their own names. So because January is the first month it will be stored as offset 0, the first array element.
    nybux
        8
    nybux  
       2013-07-11 08:22:45 +08:00
    其实星期也有同样的问题。老外星期从星期天开始,所以星期天就是0,星期一就是1。这样我们还可以接受。如果老外也是从星期一开始。那发觉星期一是0。那习惯中国点星期的方式的人,就会感到很困惑了。
    nybux
        9
    nybux  
       2013-07-11 08:29:25 +08:00
    另外月份可能需要以其他形式输出,所以我觉得从0开始也会很方便。
    比如:
    const char* monstr[] = {"一月", "二月", "三月", ...};
    打印的时候直接就可以
    printf("%s-%d\n", monstr[mon], date);了,如果从1开始,那就要麻烦一点了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3188 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 10:52 PVG 18:52 LAX 02:52 JFK 05:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86