日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java date 实例_Java Date 和 Calendar 实例

發布時間:2024/9/27 java 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java date 实例_Java Date 和 Calendar 实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java 之 Date 和 Calendar 實例

package com.homer.learn;

import java.text.DateFormat;

import java.text.ParsePosition;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.GregorianCalendar;

public class TimeTest {

public static void main(String[] args) {

TimeTest tt = new TimeTest();

System.out.println("\n當前日期: ");

System.out.println(tt.getNowTime());// 獲取當前時間

System.out.println(tt.getNowTime2());// 獲取當前時間

System.out.println(tt.getNowTime3());// 獲取當前時間

System.out.println("\n計算周: ");

System.out.println(tt.getDaysOfNow2SundayInWeek());// 獲取當前日期與本周日的相差天數

System.out.println(tt.getDateOfMondayInWeek());// 獲取本周一的日期

System.out.println(tt.getDateOfSaturdayInWeek());// 獲取本周六的日期

System.out.println(tt.getDateOfSaturdayInNextWeek());// 獲取下周一的日期

System.out.println(tt.getDateOfSaturdayInLastWeek());// 獲取上周一的日期

System.out.println("\n計算月: ");

System.out.println(tt.getFirstDayOfMonth());// 獲取當月的第一天

System.out.println(tt.getLastDayOfMonth());// 獲取當月最后一天

System.out.println(tt.getFirstDayOfPreviousMonth());// 獲取上月第一天

System.out.println(tt.getLastDayOfPreviousMonth());// 獲取上月最后一天

System.out.println(tt.getFirstDayOfNextMonth());// 獲取下月第一天

System.out.println(tt.getLastDayOfNextMonth());// 獲取下月最后一天

System.out.println("\n計算年: ");

System.out.println(tt.getFirstDayOfYear());// 獲取本年的第一天

System.out.println(tt.getLastDayOfYear());// 獲取本年最后一天

System.out.println(tt.getFirstDayOfPreviousYear());// 獲取上年的第一天

System.out.println(tt.getLastDayOfPreviousYear());// 獲取上年最后一天

System.out.println(tt.getFirstDayOfNextYear());// 獲取下年的第一天

System.out.println(tt.getLastDayOfNextYear());// 獲取下年最后一天

System.out.println(tt.getDaysOfYear());// 獲取本年的天數

System.out.println("\n計算季度: ");

System.out.println(tt.getSeasonOfMonth()); // 獲取當前月的季度

System.out.println(tt.getLastDayOfNow());// 獲取當前天所在月份的天數

System.out.println(tt.isLeapYear(2012)); // 判斷是否是潤年

System.out.println("\n日期格式轉換與計算: ");

System.out.println(tt.getDateFromStr("2012-06-20"));// 將字符串時間格式 yyyy-MM-dd,轉換成Date類型

System.out.println(tt.getWeek("2012-06-20"));// 根據一個日期,返回是星期幾的字符串

System.out.print("2012-06-02 -> 2012-06-12間隔天數:");// 計算兩個日期間的間隔天數

System.out.println(tt.getDaysFromTwoDate("2012-06-02", "2012-06-12"));

}

// 獲取當前時間

public String getNowTime() {

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Date now = new Date();

return sDateFormat.format(now);

}

public String getNowTime2() {

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date now = new Date(System.currentTimeMillis());

return sDateFormat.format(now);

}

public String getNowTime3() {

StringBuilder strBuildNow = new StringBuilder();

Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

int month = calendar.get(Calendar.MONTH) + 1;

int day = calendar.get(Calendar.DAY_OF_MONTH);

int hour = calendar.get(Calendar.HOUR_OF_DAY);

int minute = calendar.get(Calendar.MINUTE);

int second = calendar.get(Calendar.SECOND);

int millissecond = calendar.get(Calendar.MILLISECOND);

strBuildNow.append(year + "-");

strBuildNow.append(month + "-");

strBuildNow.append(day + " ");

strBuildNow.append(hour + ":");

strBuildNow.append(minute + ":");

strBuildNow.append(second + ".");

strBuildNow.append(millissecond);

return strBuildNow.toString();

}

// 獲取當前日期與本周日的相差天數

public int getDaysOfNow2SundayInWeek() {

Calendar calendar = Calendar.getInstance();

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;// 減一天,周一為1,符合中國人習慣。Sunday - 1; Monday - 2; Saturday - 7

if(dayOfWeek == 0) {// 周日

return 0;

} else {

return 0 - dayOfWeek;

}

}

// 獲取本周一的日期

public String getDateOfMondayInWeek(){

int day = this.getDaysOfNow2SundayInWeek() + 1;// 加1,即周一離本周日的間隔天數

GregorianCalendar gCalendar = new GregorianCalendar();

gCalendar.add(GregorianCalendar.DATE, day);// 計算與本周一相差的時間間隔

Date curDay = gCalendar.getTime();

DateFormat dateFormat = DateFormat.getInstance();

String dateOfMonday = dateFormat.format(curDay);

return dateOfMonday;

}

// 獲取本周六的日期

public String getDateOfSaturdayInWeek(){

int day = this.getDaysOfNow2SundayInWeek() + 6;// 加6,即周六離本周日的間隔天數

GregorianCalendar gCalendar = new GregorianCalendar();

gCalendar.add(GregorianCalendar.DATE, day);// 計算與本周六相差的時間間隔

Date curDay = gCalendar.getTime();

DateFormat dateFormat = DateFormat.getInstance();

String dateOfMonday = dateFormat.format(curDay);

return dateOfMonday;

}

// 獲取上周一的日期

public String getDateOfSaturdayInLastWeek(){

int day = this.getDaysOfNow2SundayInWeek() - 1;// 減1,即上周一離本周日的間隔天數

GregorianCalendar gCalendar = new GregorianCalendar();

gCalendar.add(GregorianCalendar.DATE, day);// 計算與上周一相差的時間間隔

Date curDay = gCalendar.getTime();

DateFormat dateFormat = DateFormat.getInstance();

String dateOfMonday = dateFormat.format(curDay);

return dateOfMonday;

}

// 獲取下周一的日期

public String getDateOfSaturdayInNextWeek(){

int day = this.getDaysOfNow2SundayInWeek() + 8;// 加8,即下周一離本周日的間隔天數

GregorianCalendar gCalendar = new GregorianCalendar();

gCalendar.add(GregorianCalendar.DATE, day);// 計算與下周一相差的時間間隔

Date curDay = gCalendar.getTime();

DateFormat dateFormat = DateFormat.getInstance();

String dateOfMonday = dateFormat.format(curDay);

return dateOfMonday;

}

// 獲取當月第一天

public String getFirstDayOfMonth() {

String strFirstDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.DATE, 1);// 設置當前月的1號

strFirstDay = sDateFormat.format(calendar.getTime());

return strFirstDay;

}

// 獲取當月最后一天

public String getLastDayOfMonth() {

String strLastDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.DATE, 1);// 設置當前月的1號

calendar.add(Calendar.MONDAY, 1);// 加一個月,變為下月的1號

calendar.add(Calendar.DATE, -1);// 減去一天,變為當前月的最后一天

strLastDay = sDateFormat.format(calendar.getTime());

return strLastDay;

}

// 獲取上月第一天

public String getFirstDayOfPreviousMonth() {

String strFirstDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.DATE, 1);// 設置當前月的1號

calendar.add(Calendar.MONDAY, -1);// 減一個月,變為上月的1號

strFirstDay = sDateFormat.format(calendar.getTime());

return strFirstDay;

}

// 獲取上月最后一天

public String getLastDayOfPreviousMonth() {

String strLastDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.DATE, 1);// 設置當前月的1號

calendar.add(Calendar.DATE, -1);// 減一天,變為上月的1號

strLastDay = sDateFormat.format(calendar.getTime());

return strLastDay;

}

public String getLastDayOfPreviousMonth2() {

String strLastDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.add(Calendar.MONDAY, -1);// 減一個月

calendar.set(Calendar.DATE, 1);// 設置當前月的1號

calendar.roll(Calendar.DATE, -1);// 把日期回滾一天,也就是本月最后一天

strLastDay = sDateFormat.format(calendar.getTime());

return strLastDay;

}

// 獲取下月第一天

public String getFirstDayOfNextMonth() {

String strFirstDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.add(Calendar.MONTH, 1);// 加一個月

calendar.set(Calendar.DATE, 1);// 設置當前月第一天

strFirstDay = sDateFormat.format(calendar.getTime());

return strFirstDay;

}

// 獲取下月最后一天

public String getLastDayOfNextMonth() {

String strLastDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.DATE, 1);// 設置當前月的1號

calendar.add(Calendar.MONDAY, 2);// 加兩個月,變為下下月的1號

calendar.add(Calendar.DATE, -1);// 減一天,變為下月的最后一天

strLastDay = sDateFormat.format(calendar.getTime());

return strLastDay;

}

public String getLastDayOfNextMonth2(){

String strLastDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.add(Calendar.MONTH, 1);// 加1個月

calendar.set(Calendar.DATE, 1);// 把日期設置為當月第1天

calendar.roll(Calendar.DATE, -1);// 日期回滾1天,也就是本月最后1天

strLastDay = sDateFormat.format(calendar.getTime());

return strLastDay;

}

// 獲取本年的第一天

public String getFirstDayOfYear(){

String strFirstDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.DAY_OF_YEAR, 1);// 設置當年第一天

strFirstDay = sDateFormat.format(calendar.getTime());

return strFirstDay;

}

// 獲取本年的最后一天

public String getLastDayOfYear(){

String strLastDay = "";

Calendar calendar = Calendar.getInstance();

strLastDay = calendar.get(Calendar.YEAR) + "-12-31";

return strLastDay;

}

// 獲取上年的第一天

public String getFirstDayOfPreviousYear(){

String strFirstDay = "";

Calendar calendar = Calendar.getInstance();

strFirstDay = (calendar.get(Calendar.YEAR) - 1) + "-01-01";

return strFirstDay;

}

// 獲取上年的最后一天

public String getLastDayOfPreviousYear(){

String strLastDay = "";

Calendar calendar = Calendar.getInstance();

strLastDay = (calendar.get(Calendar.YEAR) - 1) + "-12-31";

return strLastDay;

}

// 獲取下年的第一天

public String getFirstDayOfNextYear(){

String strFirstDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.add(Calendar.YEAR, 1);// 加一年

calendar.set(Calendar.DAY_OF_YEAR, 1);// 設置當年第一天

strFirstDay = sDateFormat.format(calendar.getTime());

return strFirstDay;

}

// 獲取下年的最后一天

public String getLastDayOfNextYear(){

String strLastDay = "";

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Calendar calendar = Calendar.getInstance();

calendar.add(Calendar.YEAR, 1);// 加一年

calendar.set(Calendar.DAY_OF_YEAR, 1);// 設置當年第一天

calendar.roll(Calendar.DAY_OF_YEAR, -1);// 回滾到當年最后一天

strLastDay = sDateFormat.format(calendar.getTime());

return strLastDay;

}

// 獲取本年的天數

public String getDaysOfYear(){

int year = 0;

int days = 0;

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.DAY_OF_YEAR, 1);// 設置日期為當年第一天

calendar.roll(Calendar.DAY_OF_YEAR, -1);// 把日期回滾一天

year = calendar.get(Calendar.YEAR);

days = calendar.get(Calendar.DAY_OF_YEAR);

return (days + " in " + year);

}

// 獲取當前月的季度

public String getSeasonOfMonth(){

String strSeason = "";

int year, month, day;

int season = 1;

int array[][] = new int[][]{ {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12} };

Calendar calendar = Calendar.getInstance();

year = calendar.get(Calendar.YEAR);

month = calendar.get(Calendar.MONDAY) + 1;

day = calendar.get(Calendar.DAY_OF_MONTH);

switch (month) {

case 1:

case 2:

case 3:

season = 1;

break;

case 4:

case 5:

case 6:

season = 2;

break;

case 7:

case 8:

case 9:

season = 3;

break;

case 10:

case 11:

case 12:

season = 4;

break;

default:

season = 1;

break;

}

int start_month = array[season-1][0];

int end_month = array[season-1][2];

strSeason = year + "-" + month + "-" +day;

strSeason += " in [ " + year + "-" + start_month + " : " + year + "-" + end_month + " ]";

return strSeason;

}

// 獲取當前天所在月份的天數

public String getLastDayOfNow(){

String strLastDay = "";

int year, month, day;

int days = 0;

Calendar calendar = Calendar.getInstance();

year = calendar.get(Calendar.YEAR);

month = calendar.get(Calendar.MONTH) + 1;

day = calendar.get(Calendar.DAY_OF_MONTH);

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

days = 31;

break;

case 4:

case 6:

case 9:

case 11:

days = 30;

break;

case 2:

if (isLeapYear(year)) {

days = 29;

} else {

days = 28;

}

break;

default:

days = 0;

break;

}

strLastDay = days + " in [ " + year + "-" + month + "-" + day + " ]";

return strLastDay;

}

// 判斷是否是潤年

public boolean isLeapYear(int year){

return (year%4 == 0 && year%100 != 0) || (year%400 == 0);

}

// 將字符串時間格式 yyyy-MM-dd,轉換成Date類型

public Date getDateFromStr(String txtDate) {

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

ParsePosition pos = new ParsePosition(0);

Date date = sDateFormat.parse(txtDate, pos);

return date;

}

// 根據一個日期,返回是星期幾的字符串

public String getWeek(String txtDate) {

Date date = getDateFromStr(txtDate);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

String week = new SimpleDateFormat("EEEE").format(date);

return week;

}

// 計算兩個日期間的間隔天數

public long getDaysFromTwoDate(String txtDate1, String txtDate2) {

if(txtDate1 == null || txtDate1.equals("")) {

return 0;

}

if(txtDate2 == null || txtDate2.equals("")) {

return 0;

}

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

long days = 0;

try {

Date date1 = sDateFormat.parse(txtDate1);

Date date2 = sDateFormat.parse(txtDate2);

days = (date2.getTime() - date1.getTime())/(24*60*60*1000);// 通過getTime()方法,把時間Date轉換成毫秒格式Long類型,進行計算

} catch (Exception e) {

System.out.println(e.getMessage());

}

return days;

}

}

運行結果:

當前日期:

2012-03-07

2012-03-07 12:30:11

2012-3-7 12:30:11.101

計算周:

-3

3/5/12 12:30 PM

3/10/12 12:30 PM

3/12/12 12:30 PM

3/3/12 12:30 PM

計算月:

2012-03-01

2012-03-31

2012-02-01

2012-02-29

2012-04-01

2012-04-30

計算年:

2012-01-01

2012-12-31

2011-01-01

2011-12-31

2013-01-01

2013-12-31

366 in 2012

計算季度:

2012-3-7 in [ 2012-1 : 2012-3 ]

31 in [ 2012-3-7 ]

true

日期格式轉換與計算:

Wed Jun 20 00:00:00 CST 2012

Wednesday

2012-06-02 -> 2012-06-12間隔天數:10

參考推薦:

總結

以上是生活随笔為你收集整理的java date 实例_Java Date 和 Calendar 实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。