「java获得日历」java获取日历

博主:adminadmin 2023-01-15 19:27:08 324

今天给各位分享java获得日历的知识,其中也会对java获取日历进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

关于JAVA中calendar.get(Calendar.Year)的问题

一:字段和方法的信息

YEAR 字段:

public static final int YEAR ;

指示年的 get 和 set 的字段数字。这是一个特定于日历的值;

get 方法:

public int get(int field) ;

返回给定日历字段的值。在 lenient 模式下,所有日历字段都被标准化。在 non-lenient 模式下,所有日历字段都是经过验证的,如果任何日历字段有超出范围的值,则此方法抛出一个异常。标准化和验证都是通过 complete() 方法处理的,这个过程与日历系统有关。

参数:field - 给定的日历字段。

返回:给定日历字段的值。

抛出:ArrayIndexOutOfBoundsException - 如果指定字段超出范围 (field 0 || field = FIELD_COUNT)。

详细资料可以参考JDK API的java.util.Calendar

二:Calendar 类详解

Calendar 类是一个抽象类,它为特定时间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

1、使用Calendar类别之前,要先知道Calendar的一些方法取回的数字是对应于Calendar本身的常数,也就是说并不是取回1 这个数字,就表示今天是星期一。

a、想要取得时间,首先使用Calendar的getInstance()取得一个Calendar的实例,例如:

Calendar rightNow = Calendar.getInstance();

b、如果现在您想知道是几年,则可以使用get()方法并指定常数,例如:

System.out.println(rightNow.get(Calendar.YEAR));

c、如果是2005年,则上例会显示2005的数字,依照这个例子,假设撰写本文的时间是5月份,而现在想使用程式取得月份,则下例可能会有些困惑:

System.out.println(rightNow.get(Calendar.MONTH));

d、程式会显示4这个数字,而不是预期的5,因为传回的4并不是代表月份,而是对应于Calendar.MAY常数的值, Calendar在月份上的常数值从Calendar.JANUARY开始是0,到Calendar.DECEMBER的11,所以如果想要显示传回值的真正意涵,可以如下撰写:

String[] months = {"一月", "二月", "三月", "四月","五月", "六月", "七月", "八月","九月", "十月", "十一月", "十二月"};

Calendar rightNow = Calendar.getInstance();

System.out.println(months[rightNow.get(Calendar.MONTH)]);

2、初始值

代码如下,值得指出的是由于我们的时区设置是GMT+8,所以打印格林威治时间得到的是1970-01-01 08:00:00.

Calendar cal = Calendar.getInstance();//得到当前时间

cal.setTimeInMillis(0);//转换成格林威治时间

3、获取值

cal.get(Calendar.YEAR);//年

cal.get(Calendar.MONTH) + 1;//月(必须要+1)

cal.get(Calendar.DATE);//日

cal.get(Calendar.HOUR_OF_DAY);//时

cal.get(Calendar.MINUTE);//分

cal.get(Calendar.SECOND);//秒

cal.get(Calendar.DAY_OF_WEEK);//星期(Locale.ENGLISH情况下,周日是1,剩下自己推算)

如果拿时间不是为了计算而是展示出来,肯定用SimpleDateFormart了,模式为yyyy-MM-dd HH:mm:ss

4、设置值

cal.set(2013, 5, 4, 13, 44, 51);//年月日时分秒(月份0代表1月)

cal.set(Calendar.YEAR, 2014);//年

cal.set(Calendar.MONTH, 7);//月(月份0代表1月)

cal.set(Calendar.DATE, 11);//日

cal.set(Calendar.HOUR_OF_DAY, 15);//时

cal.set(Calendar.MINUTE, 33);//分

cal.set(Calendar.SECOND, 32);//秒

5、运算值

cal.add(Calendar.YEAR, 1);//年

cal.add(Calendar.MONTH, 1);//月

cal.add(Calendar.DATE, 1);//日

cal.add(Calendar.HOUR_OF_DAY, -1);//时

cal.add(Calendar.MINUTE, 1);//分

cal.add(Calendar.SECOND, 1);//秒

cal.add(Calendar.DATE, 7);//周

java 怎么获取一个时间的年月日

java获取一个时间的年月日代码及相关解释说明参考下面代码

package zhidao;

import java.util.Calendar;

public class Test {

 public static void main(String[] args) {

  Calendar cal=Calendar.getInstance();//使用日历类

  int year=cal.get(Calendar.YEAR);//获取年份

  int month=cal.get(Calendar.MONTH)+1;//获取月份,因为从0开始的,所以要加1

  int day=cal.get(Calendar.DAY_OF_MONTH);//获取天

  System.out.println("结果:"+year+"-"+month+"-"+day);

 }

}

如何用java做日历

看看下面代码:

import java.awt.*;

import java.awt.event.*;

import java.util.Calendar;

import javax.swing.JOptionPane;

class CalendarBean

{

String day[];

int year=2011,month=0;

public void setYear(int year)

{ this.year=year;

}

public int getYear()

{ return year;

}

public void setMonth(int month)

{ this.month=month;

}

public int getMonth()

{ return month;

}

public String[] getCalendar()

{ String a[]=new String[42];

Calendar 日历=Calendar.getInstance();

日历.set(year,month-1,1);

int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;

int day=0;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

{ day=31;

}

if(month==4||month==6||month==9||month==11)

{ day=30;

}

if(month==2)

{ if(((year%4==0)(year%100!=0))||(year%400==0))

{ day=29;

}

else

{ day=28;

}

}

for(int i=星期几,n=1;i星期几+day;i++)

{

a[i]=String.valueOf(n) ;

n++;

}

return a;

}

}

class CalendarFrame extends Frame implements ActionListener

{

Label labelDay[]=new Label[42];

Button titleName[]=new Button[7];

String name[]={"日","一","二","三", "四","五","六"};

TextField text1,text2;Button nextMonth,previousMonth,Enter;Label lab1,lab2,lab3;

int year=2012,month=5;

CalendarBean calendar;

Label showMessage=new Label("",Label.CENTER);

public CalendarFrame()

{ Panel pCenter=new Panel();

pCenter.setLayout(new GridLayout(7,7));

for(int i=0;i7;i++)

{ titleName[i]=new Button(name[i]);

pCenter.add(titleName[i]);

}

for(int i=0;i42;i++)

{

labelDay[i]=new Label("",Label.CENTER);

pCenter.add(labelDay[i]);

}

calendar=new CalendarBean();

calendar.setYear(year);

calendar.setMonth(month);

String day[]=calendar.getCalendar();

for(int i=0;i42;i++)

{ labelDay[i].setText(day[i]);

}

lab1=new Label("请输入日期");

lab2=new Label("年份");

lab3=new Label("月份");

Enter=new Button("确定");

text1=new TextField(10);

text2=new TextField(5);

nextMonth=new Button("下月");

previousMonth=new Button("上月");

Enter.addActionListener(this);

nextMonth.addActionListener(this);

previousMonth.addActionListener(this);

Panel pNorth=new Panel(),

pSouth=new Panel();

pNorth.add( lab1);

pNorth.add(lab2);

pNorth.add( text1);

pNorth.add(lab3);

pNorth.add(text2);

pNorth.add(Enter);

pNorth.add(previousMonth);

pNorth.add(nextMonth);

pSouth.add(showMessage);

showMessage.setText("日历:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" );

ScrollPane scrollPane=new ScrollPane();

scrollPane.add(pCenter);

add(scrollPane,BorderLayout.CENTER);

add(pNorth ,BorderLayout.NORTH);

add(pSouth ,BorderLayout.SOUTH);

}

public void actionPerformed(ActionEvent e)

{ if(e.getSource()==nextMonth)

{ month=month+1;

if(month12)

month=1;

calendar.setMonth(month);

String day[]=calendar.getCalendar();

for(int i=0;i42;i++)

{ labelDay[i].setText(day[i]);

}

}

else if(e.getSource()==previousMonth)

{ month=month-1;

if(month1)

month=12;

calendar.setMonth(month);

String day[]=calendar.getCalendar();

for(int i=0;i42;i++)

{ labelDay[i].setText(day[i]);

}

}else {

String yea=text1.getText();

String mon=text2.getText();

try{

year=Integer.parseInt(yea);

month=Integer.parseInt(mon);

if(month12||month1||year1){

JOptionPane.showMessageDialog(null, "请输入正确月份或月份");

return;

}

else{

calendar.setYear(year);

calendar.setMonth(month);

}

String day[]=calendar.getCalendar();

for(int i=0;i42;i++)

{

labelDay[i].setText(day[i]);

}

}catch(NumberFormatException ee){

JOptionPane.showMessageDialog(null, "请输入正确的年份及月份");

}

}

showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMonth()+"月" );

}

}

public class CalendarMainClass

{ public static void main(String args[])

{ CalendarFrame frame=new CalendarFrame();

frame.setTitle("日历");

frame.setBounds(300,200,500,300);

frame.setVisible(true);

frame.validate();

frame.addWindowListener(new java.awt.event.WindowAdapter()

{ public void windowClosing(java.awt.event.WindowEvent e)

{ System.exit(0);

}

}

);

}

}

有问题就追问。满意请采纳。

如何用java取得年,月,日,时,分,秒?

这个问题可以用两种方式得到:

方法一:在java中可以使用Date类直接获得,但是这个方法过时了,不推荐使用。

方法二:使用 java.util.Calendar 类。

代码例子:

//方法1:虽然还可以用,但是已经不建议使用,已经过时。

Date date = new Date();

int old_y = date.getYear()+1900;//得到年份。因为得到的是1900年后至今过了多少年,所以要加1900

int old_m = date.getMonth()+1;//因为得到的结果是0~11,故而加一。

int old_d = date.getDate();//得到月份中今天的号数

System.out.println("现在是:"+old_y+"-"+old_m+"-"+old_d+"(使用过时方法)");//

//方法2:推荐使用

Calendar calendar = Calendar.getInstance();

int now_y = calendar.get(Calendar.YEAR);//得到年份

int now_m = calendar.get(Calendar.MONTH)+1;//得到月份

int now_d = calendar.get(Calendar.DATE);//得到月份中今天的号数

int now_h = calendar.get(Calendar.HOUR_OF_DAY);//得到一天中现在的时间,24小时制

int now_mm = calendar.get(Calendar.MINUTE);//得到分钟数

int now_s = calendar.get(Calendar.SECOND);//得到秒数

System.out.println("现在是:"+now_y+"-"+now_m+"-"+now_d+" "+now_h+":"+now_mm+":"+now_s+"(使用推荐方法)");

结果:

现在是:2015-11-9(使用过时方法)

现在是:2015-11-9 18:7:42(使用推荐方法)

java 一年的第一周从2月1号开始,获取今年的第三周的星期一,以及去年第三周的星期一 对应的日期 ?

public getWeekCount(Date date){ // 获取日历类实例 java.util.Calendar calendar = java.util.Calendar.getInstance(); // 设置时间 calendar.setTime(date); // 设置周一为每周第一天 calendar.setFirstDayOfWeek(java.util.Calendar.MONDAY); // 返回当年最大周数 return calendar.getActualMaximum(java.util.Calendar.WEEK_OF_YEAR);}

关于java中输出日历

第一句将用户输入的数字设为日历对象的“年”成员变量,第二句和第三句同样,一个是月份,一个是按照每月第一天开始的日期,第四句用于取得一个默认的日历对象。

关于java获得日历和java获取日历的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。