您的位置:首页 > 其它

Util包中Date类的一些应用及日历的实现

2015-10-27 10:11 309 查看
Util包中Date类的一些应用及日历的实现:

将获取的当前日期转化成相应格式输出。
[color=red]System.currentTimeMillis()[/color]表示获取自 1970 年 1 月 1 日 00:00:00 GMT 以来此日期表示的毫秒数。
[color=red]SimpleDateFormat[/color] 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
SimpleDateFormat :日期和时间模式定义了以下模式字母



这是一个获取当前时间的代码

package com.jk.yt.rili;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo {
public static void main(String[] args) {
//System.currentTimeMillis()表示获取自 1970 年 1 月 1 日 00:00:00 GMT 以来此日期表示的毫秒数。
long t = System.currentTimeMillis();
Date d1 = new Date(t);
//SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。
//它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。


// 10/26 2015 19:56:11
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = sdf.format(d1);
System.out.println(str);
}

}





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

输入一个日期,并在该日期的前面加*号标识

package com.jk.yt.rili;

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

public class Rili {
public static void main(String[] args) {
System.out.println("请输入日期(按照格式:2015-10-23)");
//键盘的输入
Scanner scanner=new Scanner(System.in);
String temp=scanner.nextLine();

SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
try {
Date date= format.parse(temp);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
int today = calendar.get(Calendar.DATE);
calendar.set(Calendar.DATE, 1);

//一个月有多少天
int mouthDays = calendar.getActualMaximum(Calendar.DATE);

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

//在1号之前输出空白
for(int i=1;i<calendar.get(Calendar.DAY_OF_WEEK);i++){
System.out.print('\t');
}

for(int i=1;i<=mouthDays;i++){
if(i==today){//在当天的前面加*标识
System.out.print("*");
}
System.out.print(i+"\t");
//获取当前是周几
int day = calendar.get(Calendar.DAY_OF_WEEK);
//遇到周六换行
if(day==Calendar.SATURDAY){
System.out.println("\n");
}
//当前日期加1
calendar.add(Calendar.DATE, 1);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐