java工具类Date 日期类应用

直接上代码:

package Test;

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

public class Test {
	public static void main(String[] args) {
		Date date = new Date();// 获得系统当前时间
		System.out.println(date);//打印系统当前时间

		long time = date.getTime();
		Date d2 = new Date(time);

		// 使用定义好的日期格式化工具类
		DateFormat df = DateFormat.getDateInstance(DateFormat.DEFAULT);
		System.out.println(df.format(date));

		// 将字符串转换成Date对象
		try {
			Date d3 = df.parse("15-03-04");
			System.out.println(d3);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		// 自定义格式格式化日期和时间
		// 注意: 月MM 分 mm 秒:ss 毫秒:SSS
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss:SSS");
		System.out.println(sdf.format(new Date()));
		
		//使用system.currentTimeMillis()获取当前时间
		long time2 = System.currentTimeMillis();
		Date d = new Date(time);
		System.out.println(d);
		
		/*Calendar calendar = Calendar.getInstance();
		//System.out.println(calendar.toString());//打印获得的calendar
		int year = calendar.get(Calendar.YEAR);//获取年份
		int month = calendar.get(Calendar.MONTH);//获取月份
		int day = calendar.get(calendar.DAY_OF_MONTH);//获取月份要注意的就是里面的月份和实际的相差一个月数组的下标是0开始的
		//指示月份的 get 和 set 的字段数字。这是一个特定于日历的值。在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
		int week = calendar.get(Calendar.DAY_OF_WEEK);//获取day
		System.out.println(year+"-"+month+"-"+day);//打印年月日2015-7-10
//		System.out.println(year);
		String[] months = { "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月" };//如果想要实现打印真实的月份可以这样实现
		System.out.println(months[month]);// 0-11这样就可以打印正确的月份
		String[] weeks = { "", "Sunday", "Monday", "Tuesday" };//星期存储的时候因为是老外开发的所以就第一个存储的是sunday 所以还是和月份一样的处理方式
		System.out.println(weeks[week]);
		System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
		System.out.println(calendar.get(Calendar.HOUR_OF_DAY));// 24小时

		String str = String.format("%d年-%d月-%d日", year,month,day);//获得我们想要的格式的字符串
		System.out.println(str);
		// %s String %c char %d int %f float double进行格式化的时候要使用到的各种类型
		System.out.println(String.format("%.2f", 10 / 3.0));
		对应的结果
		 *	2015-7-10
			8月
			Monday
			10
			21
			2015年-7月-10日
			3.33
		 * 
		*/
		
		

	}

}
希望对大家有用

你可能感兴趣的:(Date,IO,Calender,格式化)