1. 程式人生 > >_135_Java_Date與Calendar

_135_Java_Date與Calendar

--------------------------------------------

 

--------------------------------

--------------------------------

 

 --------------------------------

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.junit.Test;
/*
 * 與時間相關的類
 * 1、System類下的currentTimeMillis()
 * 2、Date類:Java.util.Date及其子類java.sql.Date
 * 3、SimpleDateFormat類
 * 4、Calendar類
 * */
public class _001_TestDateCalendar {
	//java.util.Date不易於國際化
	@Test
	public void testDate() {
		Date date = new Date();
		System.out.println(date.toString());
		System.out.println(date.getTime());
		
		Date date1 = new Date(8686225049L);
		System.out.println(date1);
		
		
		java.sql.Date date2 = new java.sql.Date(435874243);
		System.out.println(date2.toString());
	}
	
	/*
	 *java.text.SimpleDateFormat易於國際化
	 *格式化:日期-->文字(使用SimpleDateFormat的format()方法)
	 *可以在JavaAPI中檢視pattern
	 * 解析:文字-->日期
	 * 
	 * 
	 * */
	@Test
	public void testSimpleDateFormat() {
		/*格式化1*/
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
		String format = simpleDateFormat.format(new Date());
		System.out.println(format);
		
		/*格式化2*/
		SimpleDateFormat sDFA = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String format2 = sDFA.format(new Date());
		System.out.println(format2);
		
		/*3.解析,即字串轉化為日期(需要注意初始化的格式)*/
		try {
			Date parse = sDFA.parse("2018-09-29 20:30:20");
			System.out.println(parse);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	}
	
	/*
	 * 三天打魚兩天晒網     1990-01-01  XXXX-XX-XX 打魚?晒網
	 * 
	 * 
	 * 返回date1與date2之間的天數
	 * */
	public int getDays(String date1,String date2) throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date parse = sdf.parse(date1);
		Date parse2 = sdf.parse(date2);
		long time=parse2.getTime()-parse.getTime();
		return (int)time/100/3600/24+1;
	}
	@Test
	public void test() throws ParseException {
		String str="1990-01-01";
		String str1="2018-09-30";
		int days = getDays(str, str1);
		if(days%5==0||days%5==4) {
			System.out.println("晒網");
		}else {
			System.out.println("打魚");
		}
	}
	
	/*Calendar類*/
	public void testCalendar() {
		Calendar c = Calendar.getInstance();
		int i = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(i);
		
		c.add(Calendar.DAY_OF_MONTH, 2);
		i = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(i);
		
		c.set(Calendar.DAY_OF_MONTH,23);
		i = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(i);
		
		Date time = c.getTime();
		System.out.println(time);
	}
}