Calendar 日历类

来源:互联网 发布:xy苹果手机助手mac版 编辑:程序博客网 时间:2024/05/29 23:24

GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

注意:

月份:一月是0,二月是1,以此类推,12月是11.(January 一月;February 二月;March三月;April 四月;May五月;June 六月;July 七月;August 八月;September 九月;October 十月;November 十一月;December 十二月)。

星期:周日是1,周一是2,。。。。周六是7   (sunday 周日;Monday 周一;Tuesday 周二;Wednesday 周三;Thursday 周四;Friday 周五;saturday 周六)。

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;


public class TestCalendar {
public static void main(String[] args) {
Calendar c = new GregorianCalendar();
// c.set(2016, 9, 13, 19, 42, 34); // 设置时间,年月日,时分秒,9代表十月
// 等价于c.set(2016, Calendar.OCTOBER, 13, 19, 42, 34);
c.set(Calendar.YEAR, 2016);
c.set(Calendar.MONTH, 1);
c.set(Calendar.DATE, 10);
// 如果不设置时刻,就返回当前的时刻。


Date d = c.getTime(); // 返回时间
System.out.println(d);
System.out.println(c.get(Calendar.YEAR));// 返回当前年,月、日类似。


// 测试日期计算
c.add(Calendar.YEAR, 3); // 日期的年份加3。
c.add(Calendar.MONTH, 1); // 月份加1。
c.add(Calendar.DATE, -5); // 天数减5.
System.out.println(c.get(Calendar.MONTH));
System.out.println(c.get(Calendar.DATE));
}
}

写一个日历小程序,正确显示:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;


/**
 * 可视化日历程序
 */
public class VisualCalendar {
public static void main(String[] args) {
// String temp = "2016-9-14";
Scanner sc = new Scanner(System.in);
System.out.println("请输入格式为2016-10-13的日期");
String temp = sc.nextLine();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");


try { // 捕获异常
Date date = format.parse(temp);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);


int y = calendar.get(Calendar.DATE); // 当天几号
System.out.println(y);
System.out.println(date);
calendar.set(Calendar.DATE, 1); // 设置天数为当月的第一天
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));    // 输出当月第一天为星期几
System.out.println(calendar.getActualMaximum(Calendar.DATE));    // 输出当月共有多少天


int x = calendar.getActualMaximum(Calendar.DATE);  // 当月共有多少天


System.out.println("日\t一\t二\t三\t四\t五\t六");


for (int i = 1; i <= calendar.get(Calendar.DAY_OF_WEEK) - 1; i++) { // 在当月第一天之前有几个空白
System.out.print("\t");
}


int j = calendar.get(Calendar.DAY_OF_WEEK) - 1;  // 从星期几开始输出天数
for (int i = 1; i <= x; i++) {
if (i == y) {


System.out.print("$" + i + "\t"); // 当前日期的前面显示$符号
} else {
System.out.print(i + "\t");


}
j++;
if (j % 7 == 0) { // 每隔七天会换行
System.out.println();
}
}


} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}


}
}


0 0
原创粉丝点击