關於Java中日期的操作

 * 1.獲取現在的年、月、日、時、分、秒
 * 2.如何取得從1970年1月1日0時0分0秒到現在的毫秒數?
 * 3.如何取得某月的最後一天?
 * 4.如何格式化日期?
 * 5.打印昨天的當前時刻
下面是代碼示例(創建testDate測試類):
package testdemo;

import java.text.SimpleDateFormat;
import java.time.Clock;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;


/***
 * 1.獲取現在的年、月、日、時、分、秒
 * 2.如何取得從1970年1月1日0時0分0秒到現在的毫秒數? 
 * 3.如何取得某月的最後一天?
 * 4.如何格式化日期?
 * 5.打印昨天的當前時刻
 *
 */
public class testDate {
	public static void main(String[] args) {
		/***
		 * Calendar獲取年、月、日、時、分、秒
		 * 第一步:用Calendar.getInstance()方法得到Calendar對象
		 * 第二步:用Calendar對象的get(Calendar.XXX參數)方法得到相應日期
		 * 注意:用這種方法獲取月份時,輸出月份應該加1,因爲在Calendar.MONTH方法輸出的月份是從零開始的,0表示一月,11表示十二月
		 */
		Calendar ca=Calendar.getInstance();
		System.out.println(ca.get(Calendar.YEAR));//年
		System.out.println(ca.get(Calendar.MONTH)+1);//月
		System.out.println(ca.get(Calendar.DATE));//日
		System.out.println(ca.get(Calendar.HOUR));//時--或者System.out.println(ca.get(Calendar.HOUR_OF_DAY));
		System.out.println(ca.get(Calendar.MINUTE));//分
		System.out.println(ca.get(Calendar.SECOND));//秒
		System.out.println(ca.getActualMaximum(Calendar.DAY_OF_MONTH));//獲取月份的最後一天
		System.out.println("******分割線******");
		/***
		 * 在jdk1.8中另外還提供了LocalDateTime對象獲取年、月、日、時、分、秒
		 * 第一步:用LocalDateTime.now()方法得到LocalDateTime對象
		 * 第二步:用Calendar對象的getXXX()方法得到相應日期
		 */
		LocalDateTime date=LocalDateTime.now();
		System.out.println(date.getYear());//年
		System.out.println(date.getMonthValue());//月
		System.out.println(date.getDayOfMonth());//日
		System.out.println(date.getHour());//時
		System.out.println(date.getMinute());//分
		System.out.println(date.getSecond());//秒
		
		System.out.println("******問題分割線******");
		/**
		 * 如何取得從1970年1月1日0時0分0秒到現在的毫秒數?(三種方法)
		 */
		System.out.println(System.currentTimeMillis());
		System.out.println(ca.getTimeInMillis());
		System.out.println(Clock.systemDefaultZone().millis());//jdk1.8中提供的方法
		
		System.out.println("******問題分割線******");
		/**
		 * 使用SimpleDateFormat對象的format()方法格式化日期
		 */
		SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		System.out.println(dateFormat.format(new Date()));
		/**
		 * jdk1.8中提供另一種方法實現格式化日期
		 */
		DateTimeFormatter dateNewForm=DateTimeFormatter.ofPattern("yyyy/MM/dd");
		LocalDate ldate=LocalDate.now();
		System.out.println(ldate.format(dateNewForm));
		
		System.out.println("******問題分割線******");
		/**
		 * 打印昨天的當前時刻,並格式化輸出
		 */
		ca.add(Calendar.DATE, -1);
		System.out.println(dateFormat.format(ca.getTime()));
		ca.add(Calendar.DATE, +2);
		System.out.println(dateFormat.format(ca.getTime()));
		/**
		 * jdk1.8中的另一種實現打印昨天的當前時刻的方式
		 */
		System.out.println(date.minusDays(1));
		System.out.println(date.minusDays(2));
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章