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

歡迎訪問 生活随笔!

生活随笔

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

java

java dateutils_Java DateUtils java时间工具类 kaki的博客

發布時間:2024/9/27 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java dateutils_Java DateUtils java时间工具类 kaki的博客 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

import java.text.SimpleDateFormat;

import java.util.*;java

/**

* 日期操做工具類

*/

public class DateUtils {

/**

* 日期轉換- ?String -> Date

*

* @param dateString 字符串時間

* @return Date類型信息

* @throws Exception 拋出異常

*/

public static Date parseString2Date(String dateString) throws Exception {

if (dateString == null) {

return null;

}

return parseString2Date(dateString, "yyyy-MM-dd");

}工具

/**

* 日期轉換- ?String -> Date

*

* @param dateString 字符串時間

* @param pattern ? ?格式模板

* @return Date類型信息

* @throws Exception 拋出異常

*/

public static Date parseString2Date(String dateString, String pattern) throws Exception {

if (dateString == null) {

return null;

}

SimpleDateFormat sdf = new SimpleDateFormat(pattern);

Date date = sdf.parse(dateString);

return date;

}.net

/**

* 日期轉換 Date -> String

*

* @param date Date類型信息

* @return 字符串時間

* @throws Exception 拋出異常

*/

public static String parseDate2String(Date date) throws Exception {

if (date == null) {

return null;

}

return parseDate2String(date, "yyyy-MM-dd");

}orm

/**

* 日期轉換 Date -> String

*

* @param date ? ?Date類型信息

* @param pattern 格式模板

* @return 字符串時間

* @throws Exception 拋出異常

*/

public static String parseDate2String(Date date, String pattern) throws Exception {

if (date == null) {

return null;

}

SimpleDateFormat sdf = new SimpleDateFormat(pattern);

String strDate = sdf.format(date);

return strDate;

}索引

/**

* 獲取當前日期的本周一是幾號

*

* @return 本周一的日期

*/

public static Date getThisWeekMonday() {

Calendar cal = Calendar.getInstance();

cal.setTime(new Date());

// 得到當前日期是一個星期的第幾天

int dayWeek = cal.get(Calendar.DAY_OF_WEEK);

if (1 == dayWeek) {

cal.add(Calendar.DAY_OF_MONTH, -1);

}

// 設置一個星期的第一天,按中國的習慣一個星期的第一天是星期一

cal.setFirstDayOfWeek(Calendar.MONDAY);

// 得到當前日期是一個星期的第幾天

int day = cal.get(Calendar.DAY_OF_WEEK);

// 根據日歷的規則,給當前日期減去星期幾與一個星期第一天的差值

cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);

return cal.getTime();

}字符串

/**

* 獲取當前日期周的最后一天

*

* @return 當前日期周的最后一天

*/

public static Date getSundayOfThisWeek() {

Calendar c = Calendar.getInstance();

int dayOfWeek = c.get(Calendar.DAY_OF_WEEK) - 1;

if (dayOfWeek == 0) {

dayOfWeek = 7;

}

c.add(Calendar.DATE, -dayOfWeek + 7);

return c.getTime();

}get

/**

* 根據日期區間獲取月份列表

*

* @param minDate 開始時間

* @param maxDate 結束時間

* @return 月份列表

* @throws Exception

*/

public static List getMonthBetween(String minDate, String maxDate, String format) throws Exception {

ArrayList result = new ArrayList<>();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");io

Calendar min = Calendar.getInstance();

Calendar max = Calendar.getInstance();ast

min.setTime(sdf.parse(minDate));

min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);form

max.setTime(sdf.parse(maxDate));

max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2);

SimpleDateFormat sdf2 = new SimpleDateFormat(format);

Calendar curr = min;

while (curr.before(max)) {

result.add(sdf2.format(curr.getTime()));

curr.add(Calendar.MONTH, 1);

}

return result;

}

/**

* 根據日期獲取年度中的周索引

*

* @param date 日期

* @return 周索引

* @throws Exception

*/

public static Integer getWeekOfYear(String date) throws Exception {

Date useDate = parseString2Date(date);

Calendar cal = Calendar.getInstance();

cal.setTime(useDate);

return cal.get(Calendar.WEEK_OF_YEAR);

}

/**

* 根據年份獲取年中周列表

*

* @param year 年分

* @return 周列表

* @throws Exception

*/

public static Map getWeeksOfYear(String year) throws Exception {

Date useDate = parseString2Date(year, "yyyy");

Calendar cal = Calendar.getInstance();

cal.setTime(useDate);

//獲取年中周數量

int weeksCount = cal.getWeeksInWeekYear();

Map mapWeeks = new HashMap<>(55);

for (int i = 0; i < weeksCount; i++) {

cal.get(Calendar.DAY_OF_YEAR);

mapWeeks.put(i + 1, parseDate2String(getFirstDayOfWeek(cal.get(Calendar.YEAR), i)));

}

return mapWeeks;

}

/**

* 獲取某年的第幾周的開始日期

*

* @param year 年分

* @param week 周索引

* @return 開始日期

* @throws Exception

*/

public static Date getFirstDayOfWeek(int year, int week) throws Exception {

Calendar c = new GregorianCalendar();

c.set(Calendar.YEAR, year);

c.set(Calendar.MONTH, Calendar.JANUARY);

c.set(Calendar.DATE, 1);

Calendar cal = (GregorianCalendar) c.clone();

cal.add(Calendar.DATE, week * 7);

return getFirstDayOfWeek(cal.getTime());

}

/**

* 獲取某年的第幾周的結束日期

*

* @param year 年份

* @param week 周索引

* @return 結束日期

* @throws Exception

*/

public static Date getLastDayOfWeek(int year, int week) throws Exception {

Calendar c = new GregorianCalendar();

c.set(Calendar.YEAR, year);

c.set(Calendar.MONTH, Calendar.JANUARY);

c.set(Calendar.DATE, 1);

Calendar cal = (GregorianCalendar) c.clone();

cal.add(Calendar.DATE, week * 7);

return getLastDayOfWeek(cal.getTime());

}

/**

* 獲取當前時間所在周的開始日期

*

* @param date 當前時間

* @return 開始時間

*/

public static Date getFirstDayOfWeek(Date date) {

Calendar c = new GregorianCalendar();

c.setFirstDayOfWeek(Calendar.SUNDAY);

c.setTime(date);

c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());

return c.getTime();

}

/**

* 獲取當前時間所在周的結束日期

*

* @param date 當前時間

* @return 結束日期

*/

public static Date getLastDayOfWeek(Date date) {

Calendar c = new GregorianCalendar();

c.setFirstDayOfWeek(Calendar.SUNDAY);

c.setTime(date);

c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6);

return c.getTime();

}

//得到上周一的日期

public static Date geLastWeekMonday(Date date) {

Calendar cal = Calendar.getInstance();

cal.setTime(getThisWeekMonday(date));

cal.add(Calendar.DATE, -7);

return cal.getTime();

}

//得到本周一的日期

public static Date getThisWeekMonday(Date date) {

Calendar cal = Calendar.getInstance();

cal.setTime(date);

// 得到當前日期是一個星期的第幾天

int dayWeek = cal.get(Calendar.DAY_OF_WEEK);

if (1 == dayWeek) {

cal.add(Calendar.DAY_OF_MONTH, -1);

}

// 設置一個星期的第一天,按中國的習慣一個星期的第一天是星期一

cal.setFirstDayOfWeek(Calendar.MONDAY);

// 得到當前日期是一個星期的第幾天

int day = cal.get(Calendar.DAY_OF_WEEK);

// 根據日歷的規則,給當前日期減去星期幾與一個星期第一天的差值

cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);

return cal.getTime();

}

//得到下周一的日期

public static Date getNextWeekMonday(Date date) {

Calendar cal = Calendar.getInstance();

cal.setTime(getThisWeekMonday(date));

cal.add(Calendar.DATE, 7);

return cal.getTime();

}

//得到今天日期

public static Date getToday(){

return new Date();

}

//得到本月一日的日期

public static Date getFirstDay4ThisMonth(){

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.DAY_OF_MONTH,1);

return calendar.getTime();

}

public static void main(String[] args) {

try {

System.out.println("本周一" + parseDate2String(getThisWeekMonday()));

System.out.println("本月一日" + parseDate2String(getFirstDay4ThisMonth()));

} catch (Exception e) {

e.printStackTrace();

}

}

}

更多資訊請在碼云搜索KakiNakajima

總結

以上是生活随笔為你收集整理的java dateutils_Java DateUtils java时间工具类 kaki的博客的全部內容,希望文章能夠幫你解決所遇到的問題。

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