Java日期输出错误。为什么?
我正在玩Java Date,无法理解这一点:Java日期输出错误。为什么?,java,date,Java,Date,我正在玩Java Date,无法理解这一点: Date myBirth = new Date(1991,01,21); Log.d("DATE: ", "" + myBirth); 这里我初始化了日期对象。为什么我得到这个输出 DEBUG/DATE:(31693): Sat Feb 21 00:00:00 EET 3891 从: 年份y由整数y-1900表示 一个月由0到11的整数表示;0是一月,1是二月,依此类推;因此,11月是12月 从: 年份y由整数y-1900表示 一个月由0到
Date myBirth = new Date(1991,01,21);
Log.d("DATE: ", "" + myBirth);
这里我初始化了日期对象。为什么我得到这个输出
DEBUG/DATE:(31693): Sat Feb 21 00:00:00 EET 3891
从:
- 年份y由整数y-1900表示
- 一个月由0到11的整数表示;0是一月,1是二月,依此类推;因此,11月是12月
- 年份y由整数y-1900表示
- 一个月由0到11的整数表示;0是一月,1是二月,依此类推;因此,11月是12月
Parameters:
year - the year **minus 1900**.
month - the month between 0-11.
date - the day of the month between 1-31.
因此,输出是您要求的,而不是您想要的。引用此已弃用的日期构造函数:
Parameters:
year - the year **minus 1900**.
month - the month between 0-11.
date - the day of the month between 1-31.
因此,输出是您要求的,而不是您想要的。一月是第0个月,二月是第1个月。您可能希望避免使用前导0写入数字文字。前导0告诉Java将数字解释为八进制。对于小于8的数字,这没有区别。但是010==8。此构造函数已弃用。看一看,1月是0月,2月是1月。您可能希望避免使用前导0编写数字文本。前导0告诉Java将数字解释为八进制。对于小于8的数字,这没有区别。但是010==8。此构造函数已弃用。看看对面的@AlexKulakovsky,你读过那份文件的其余部分了吗?特别是说你从1900年起通过了多少年?哎呀,我的原始答案中没有年份部分,现在更新了。@AlexKulakovsky,你读过该文档的其余部分了吗?特别是1900年以来的年数?哦,我的原始答案中没有年份部分,现在更新了。