`
leaf-stop
  • 浏览: 26486 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多
Util包中Date类的一些应用及日历的实现:

将获取的当前日期转化成相应格式输出。
System.currentTimeMillis()表示获取自 1970 年 1 月 1 日 00:00:00 GMT 以来此日期表示的毫秒数。
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
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);
	}
	
}





日历的实现
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 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();
		}		
	}
}





  • 大小: 14 KB
  • 大小: 6.9 KB
  • 大小: 12.4 KB
0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics