Java与时间相关的类

与时间相关的类:
1.System 类下的currentTimeMillis();
2.Date类:java.util.Date
    如何创建其实例;其下的方法:toString()、getTime()
    (以及其子类java.sql.Date)
3.SimpleDateFormat类

 4.Calendar类

示例代码:

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

import org.junit.Test;

public class TestDate {
	//java.util.Date不易于国际化,很多方法已经过时
	@Test
	public void testDate() {
		Date date1 = new Date();
		System.out.println(date1);
		
		Date date2 = new Date(4567869898L);
		System.out.println(date2);
		
		java.sql.Date date3 = new java.sql.Date(4567869898L);
		System.out.println(date3);
	}
	
	/*
	 * java.text.SimpleDateFormat类易于国际化
	 * 格式化:日期--->文本 使用SimpleDateFormat的format()方法
	 * 解析:文本--->日期 使用SimpleDateFormat的parse()方法
	 */
	@Test
	public void testSimpleDateFormat() {
		//1.默认格式化
		SimpleDateFormat sdf1 = new SimpleDateFormat();
		String date1 = sdf1.format(new Date());
		System.out.println(date1);//15-9-10 上午9:57
		
		//2.自定义格式化:具体参数格式查看API,然后自行编写
		SimpleDateFormat sdf2 = new SimpleDateFormat("hh 'o''clock' a, zzzz");
		String date2 = sdf2.format(new Date());
		System.out.println(date2);//10 o'clock 上午, GMT+08:00
		
		//3.解析
		Date date3 = null;
		Date date4 = null;
		try {
			date3 = sdf2.parse("10 o'clock 上午, GMT+08:00");
			date4 = sdf2.parse(date2);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		System.out.println(date3);
		System.out.println(date4);
	}
	/*
	 * “三天打渔两天晒网”  1990-01-01  XXXX-XX-XX 打渔?晒网?
	 */
	//返回date1与date2之间的天数,date1早于date2
	public int getDays(String date1, String date2) throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date d1 = sdf.parse(date1);
		Date d2 = sdf.parse(date2);
		long milliTime = d2.getTime() - d1.getTime();
		
		return (int)milliTime/1000/3600/24 + 1;//例如:3.5天应该认为是4天
	}
	@Test
	public void testExer() {
		String date1 = "1990-01-01";
		String date2 = "1990-01-05";
		int days = 0;
		try {
			days = getDays(date1, date2);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		if(days % 5 == 0 || days % 5 == 4) {
			System.out.println("晒网");
		} else {
			System.out.println("打渔");
		}
	}
	
	/*
	 * 日历:Calendar
	 * get()/add()/set()/Date getTime()/setTime(Date d)
	 */
	@Test
	public void testCalendar() {
		Calendar c = Calendar.getInstance();
		int day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(day);//10
		
		c.add(Calendar.DAY_OF_MONTH, -2);
		day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(day);//8
		
		c.set(Calendar.DAY_OF_MONTH, 4);
		day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(day);//4
	}
}


猜你喜欢

转载自blog.csdn.net/u013453970/article/details/48340539