首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.Date和getYear()

java.util.Date和getYear()
EN

Stack Overflow用户
提问于 2012-02-12 03:59:21
回答 12查看 283.8K关注 0票数 64

我在Java中遇到了以下问题(我看到有些人在JavaScript中也有类似的问题,但我正在使用Java)

代码语言:javascript
复制
System.out.println(new Date().getYear());
System.out.println(new GregorianCalendar().getTime().getYear());
System.out.println(this.sale.getSaleDate().getYear());
System.out.println(this.sale.getSaleDate().getMonth());
System.out.println(this.sale.getSaleDate().getDate());

返回

代码语言:javascript
复制
I/System.out( 4274): 112
I/System.out( 4274): 112
I/System.out( 4274): 112
I/System.out( 4274): 1
I/System.out( 4274): 11

我不理解112比特,我原以为是2012年。到底怎么回事?java.util.Date类不可用吗?我将其作为字段存储在我的几个类中,以存储日期和时间。我该怎么办?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2012-02-12 04:02:43

根据javadoc:

代码语言:javascript
复制
@Deprecated
public int getYear()

已弃用JDK1.1版的. As,由Calendar.get(Calendar.YEAR) - 1900取代。

返回一个值,该值是从年份中减去1900的结果,该年份包含此Date对象所表示的时间瞬间或以该时刻开始,按本地时区解释。

返回:此日期表示的年份减去1900。

另请参阅: Calendar

因此112是正确的输出。我会听从Javadoc中的建议,或者使用JodaTime。

票数 59
EN

Stack Overflow用户

发布于 2015-11-26 22:01:28

除了所有的评论之外,我想我可能会根据javadoc添加一些关于如何使用java.util.Date、java.util.Calendar和java.util.GregorianCalendar的代码。

代码语言:javascript
复制
//Initialize your Date however you like it.
Date date = new Date();
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
//Add one to month {0 - 11}
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
票数 98
EN

Stack Overflow用户

发布于 2013-12-17 19:43:36

使用日期格式

代码语言:javascript
复制
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(datetime);
SimpleDateFormat df = new SimpleDateFormat("yyyy");
year = df.format(date);
票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9243578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档