java中GregorianCalendar类返回当前年月日怎么和现实差了1个月
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中GregorianCalendar类返回当前年月日怎么和现实差了1个月相关的知识,希望对你有一定的参考价值。
代码如下:
import java.util.GregorianCalendar;
class testGregorianCalendar
public static void main(String[] args)
GregorianCalendar calendar1 = new GregorianCalendar();
System.out.println("Year:"+ calendar1.get(GregorianCalendar.YEAR));
System.out.println("Month:"+ calendar1.get(GregorianCalendar.MONTH));
System.out.println("Date:"+ calendar1.get(GregorianCalendar.DATE));
对于java中Calendar和GregorianCalendar的get方法返回的MONTH代表的整型值,
0代表1月,11代表12月。
get方法主要用于数值计算,而不该用于直接显示,所以基于0起。
显示月份应该用
calendar.getDisplayName(GregorianCalendar.MONTH,
GregorianCalendar.SHORT,
Locale.CHINA);//这样
或者另外SimpleDateFormat输出统一格式
参考技术A Date类对象的创建:n 创建一个当前时间
//默认是创建一个代表系统当前日期的Date对象
Date d = new Date();
n 创建一个我们指定的时间的Date对象:
下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。
//创建一个代表2009年6月12号的Date对象
Date d1 = new Date(2009-1900, 6-1, 12); (注意参数的设置啊!)
l 正确获得一个date对象所包含的信息
如:
Date d2 = new Date(2009-1900, 6-1, 12);
//获得年份 (注意年份要加上1900,这样才是日期对象d2所代表的年份)
int year = d2.getYear() + 1900;
//获得月份 (注意月份要加1,这样才是日期对象d2所代表的月份)
int month = d2.getMonth() + 1;
//获得日期
int date = d2.getDate();
//获得小时
int hour = d2.getHours();
//获得分钟
int minute = d2.getMinutes();
//获得秒
int second = d2.getSeconds();
//获得星期 (注意:0代表星期日、1代表星期1、2代表星期2,其他的一次类推了)
int day = d2.getDay();
运行结果:
年份:2015
月份:7
日期:23
小时:0 //不设置默认是0
分钟:0 //不设置默认是0
秒:0 //不设置默认是0
星期:5 //15-7-23今天就是星期5,又是一个星期天
java 日历和GregorianCalendar
以上是关于java中GregorianCalendar类返回当前年月日怎么和现实差了1个月的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.IllegalArgumentException:坏类:类 java.util.GregorianCalendar
java 中GregorianCalendar类跟Calendar类有啥本质的区别,以及都怎么用
java中GregorianCalendar类与Calendar类的关系与区别?