日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2024/9/27 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java dateutils_Java DateUtils java时间工具类 kaki的博客 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

import java.text.SimpleDateFormat;

import java.util.*;java

/**

* 日期操做工具類

*/

public class DateUtils {

/**

* 日期轉(zhuǎn)換- ?String -> Date

*

* @param dateString 字符串時(shí)間

* @return Date類型信息

* @throws Exception 拋出異常

*/

public static Date parseString2Date(String dateString) throws Exception {

if (dateString == null) {

return null;

}

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

}工具

/**

* 日期轉(zhuǎn)換- ?String -> Date

*

* @param dateString 字符串時(shí)間

* @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

/**

* 日期轉(zhuǎn)換 Date -> String

*

* @param date Date類型信息

* @return 字符串時(shí)間

* @throws Exception 拋出異常

*/

public static String parseDate2String(Date date) throws Exception {

if (date == null) {

return null;

}

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

}orm

/**

* 日期轉(zhuǎn)換 Date -> String

*

* @param date ? ?Date類型信息

* @param pattern 格式模板

* @return 字符串時(shí)間

* @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;

}索引

/**

* 獲取當(dāng)前日期的本周一是幾號(hào)

*

* @return 本周一的日期

*/

public static Date getThisWeekMonday() {

Calendar cal = Calendar.getInstance();

cal.setTime(new Date());

// 得到當(dāng)前日期是一個(gè)星期的第幾天

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

if (1 == dayWeek) {

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

}

// 設(shè)置一個(gè)星期的第一天,按中國(guó)的習(xí)慣一個(gè)星期的第一天是星期一

cal.setFirstDayOfWeek(Calendar.MONDAY);

// 得到當(dāng)前日期是一個(gè)星期的第幾天

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

// 根據(jù)日歷的規(guī)則,給當(dāng)前日期減去星期幾與一個(gè)星期第一天的差值

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

return cal.getTime();

}字符串

/**

* 獲取當(dāng)前日期周的最后一天

*

* @return 當(dāng)前日期周的最后一天

*/

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

/**

* 根據(jù)日期區(qū)間獲取月份列表

*

* @param minDate 開(kāi)始時(shí)間

* @param maxDate 結(jié)束時(shí)間

* @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;

}

/**

* 根據(jù)日期獲取年度中的周索引

*

* @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);

}

/**

* 根據(jù)年份獲取年中周列表

*

* @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);

//獲取年中周數(shù)量

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;

}

/**

* 獲取某年的第幾周的開(kāi)始日期

*

* @param year 年分

* @param week 周索引

* @return 開(kāi)始日期

* @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());

}

/**

* 獲取某年的第幾周的結(jié)束日期

*

* @param year 年份

* @param week 周索引

* @return 結(jié)束日期

* @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());

}

/**

* 獲取當(dāng)前時(shí)間所在周的開(kāi)始日期

*

* @param date 當(dāng)前時(shí)間

* @return 開(kāi)始時(shí)間

*/

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();

}

/**

* 獲取當(dāng)前時(shí)間所在周的結(jié)束日期

*

* @param date 當(dāng)前時(shí)間

* @return 結(jié)束日期

*/

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);

// 得到當(dāng)前日期是一個(gè)星期的第幾天

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

if (1 == dayWeek) {

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

}

// 設(shè)置一個(gè)星期的第一天,按中國(guó)的習(xí)慣一個(gè)星期的第一天是星期一

cal.setFirstDayOfWeek(Calendar.MONDAY);

// 得到當(dāng)前日期是一個(gè)星期的第幾天

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

// 根據(jù)日歷的規(guī)則,給當(dāng)前日期減去星期幾與一個(gè)星期第一天的差值

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();

}

}

}

更多資訊請(qǐng)?jiān)诖a云搜索KakiNakajima

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。