關(guān)于Java日期工具類(lèi)的編寫(xiě)
Java日期工具類(lèi)編寫(xiě)
將字符串轉(zhuǎn)換為對(duì)應(yīng)日期
Date date = simpleDateFormat.parse(string);
將日期轉(zhuǎn)換為字符串
String string = simpleDateFormat.format(date);
注意,因?yàn)榭赡芏x的格式和實(shí)際字符串提供的格式不符合,所以會(huì)拋出異常。
將年月日的漢字日期轉(zhuǎn)為 - - 分隔符的日期
public static void main(String[] args) throws ParseException {
//統(tǒng)一日期格式
String StrVal = "2018年05月22日";
Date d1 = new SimpleDateFormat("yyyy年MM月dd日").parse(StrVal);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String time = format.format(d1);
System.out.println(time);
}
/**
* 將日期對(duì)象格式化為指定格式的日期字符串
* @param date 傳入的日期對(duì)象
* @param format 格式
* @return
*/
public static String formatDate(Date date,String format){
String result="";
SimpleDateFormat sdf=new SimpleDateFormat(format);
if(date!=null){
result=sdf.format(date);
}
return result;
}
/**
* 將日期字符串轉(zhuǎn)換成一個(gè)日期對(duì)象
* @param dateStr 日期字符串
* @param format 格式
* @return
* @throws ParseException
*/
public static Date formatDate(String dateStr,String format) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat(format);
return sdf.parse(dateStr);
}
public static void main(String[] args) throws ParseException {
Date date=new Date();
System.out.println(formatDate(date,"yyyy-MM-dd"));
System.out.println(formatDate(date,"yyyy-MM-dd HH:mm:ss"));
System.out.println(formatDate(date,"yyyy年MM月dd日HH時(shí)mm分ss秒"));
String dataStr="1989-11-02 18:01:41";
Date date2=formatDate(dataStr,"yyyy-MM-dd HH:mm:ss");
System.out.println(formatDate(date2,"yyyy-MM-dd HH:mm:ss"));
}運(yùn)行輸出:
2016-11-02
2016-11-02 18:06:50
2016年11月02日18時(shí)06分50秒
1989-11-02 18:01:41
SimpleDateFormat類(lèi)主要是用作日期類(lèi)型轉(zhuǎn)換用的,常用的日期格式化
public static void main(String[] args) {
//默認(rèn)輸出格式
Date date=new Date();
System.out.println(date);
//日期格式化顯示,首先定義格式
SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf4=new SimpleDateFormat("yyyy年MM月dd日HH時(shí)mm分ss秒");
//將格式應(yīng)用于日期
System.out.println(sdf1.format(date));
System.out.println(sdf2.format(date));
System.out.println(sdf3.format(date));
System.out.println(sdf4.format(date));
}
JavaCalendar日歷類(lèi)的時(shí)間操作
Calendar有個(gè)DAY_OF_WEEK 可以返回一個(gè)星期中的第幾天;
這里說(shuō)下注意點(diǎn) 老外的第一天是從星期日開(kāi)始的,所以要-1;
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar calendar=Calendar.getInstance();
System.out.println("今天是"+weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]);
}
}對(duì)日歷進(jìn)行操作
public static void main(String[] args) {
//默認(rèn)輸出格式
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String time = format.format(now);
System.out.println(time);
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.MONTH, 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String nowTime = sdf.format(calendar.getTime());
System.out.println(nowTime);
calendar.add(Calendar.MONTH, -2);
String nowTime2 = sdf.format(calendar.getTime());
System.out.println(nowTime2);
}
獲取時(shí)間
賦值時(shí)年月日時(shí)分秒常用的6個(gè)值,注意月份下標(biāo)從0開(kāi)始,所以取月份要+1
public static void main(String[] args) {
//默認(rèn)輸出格式
Date now = new Date();
SimpleDateFormat nowSdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(nowSdf.format(now));
Calendar calendar = Calendar.getInstance();
// 賦值時(shí)年月日時(shí)分秒常用的6個(gè)值,注意月份下標(biāo)從0開(kāi)始,所以取月份要+1
System.out.println("年:" + calendar.get(Calendar.YEAR));
System.out.println("月:" + (calendar.get(Calendar.MONTH) + 1));
System.out.println("日:" + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("時(shí):" + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("分:" + calendar.get(Calendar.MINUTE));
System.out.println("秒:" + calendar.get(Calendar.SECOND));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String nowTime2 = sdf.format(calendar.getTime());
System.out.println(nowTime2);
}
設(shè)置時(shí)間
如果想設(shè)置為某個(gè)日期,可以一次設(shè)置年月日時(shí)分秒,由于月份下標(biāo)從0開(kāi)始賦值月份要-1
public static void main(String[] args) {
//默認(rèn)輸出格式
Date now = new Date();
SimpleDateFormat nowSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(nowSdf.format(now));
Calendar calendar = Calendar.getInstance();
calendar.set(2013, 5, 4, 13, 44, 51);
calendar.set(Calendar.YEAR, 2014);//年
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = sdf.format(calendar.getTime());
System.out.println(nowTime);
calendar.set(Calendar.MONTH, 7);//月(月份0代表1月)
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime1 = sdf1.format(calendar.getTime());
System.out.println(nowTime1);
calendar.set(Calendar.DATE, 11);//日
calendar.set(Calendar.HOUR_OF_DAY, 15);//時(shí)
calendar.set(Calendar.MINUTE, 33);//分
calendar.set(Calendar.SECOND, 32);//秒
}
時(shí)間計(jì)算
public static void main(String[] args) {
//默認(rèn)輸出格式
Date now = new Date();
SimpleDateFormat nowSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(nowSdf.format(now));
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.YEAR, 1);//年
calendar.add(Calendar.MONTH, 1);//月
calendar.add(Calendar.DATE, 1);//日
//calendar.add(Calendar.DAY_OF_YEAR, 1);//今年的第 N 天
//calendar.add(Calendar.DAY_OF_MONTH, 1); // 本月第 N 天
//calendar.add(Calendar.DAY_OF_WEEK, 1);// 本周幾
calendar.add(Calendar.HOUR_OF_DAY, -1);//時(shí)
calendar.add(Calendar.MINUTE, 1);//分
calendar.add(Calendar.SECOND, 1);//秒
//calendar.add(calendar.WEEK_OF_MONTH, 1);//增加一個(gè)禮拜
//calendar.add(calendar.WEEK_OF_YEAR,1);//增加一個(gè)禮拜
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime1 = sdf1.format(calendar.getTime());
System.out.println(nowTime1);
}
日期的計(jì)算
獲取本月最小天數(shù)與最大天數(shù)
public static void main(String[] args) {
//默認(rèn)輸出格式
Date now = new Date();
SimpleDateFormat nowSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
int firstD = calendar.getActualMinimum(calendar.DAY_OF_MONTH);
int lastD = calendar.getActualMaximum(calendar.DAY_OF_MONTH);
System.out.println("獲取本月的第一天和最后天:" + firstD +"," + lastD);
}
獲取本周星期一、上周星期一、這周星期一
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 void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse("2017-09-10");
System.out.println("今天是" + sdf.format(date));
System.out.println("上周一" + sdf.format(geLastWeekMonday(date)));
System.out.println("本周一" + sdf.format(getThisWeekMonday(date)));
System.out.println("下周一" + sdf.format(getNextWeekMonday(date)));
} catch (Exception e) {
e.printStackTrace();
}
}
天數(shù)計(jì)算
用Date類(lèi)計(jì)算日期差
public static void main(String[] args) {
Calendar love = Calendar.getInstance();
Calendar now = Calendar.getInstance();
love.set(2016, 8, 6); //真實(shí)的日期是2016-9-6;
int days = (int) ((now.getTimeInMillis() - love.getTimeInMillis()) / (24 * 60 * 60 * 1000.0));
System.out.println(days);
}
public static void main(String[] args) throws ParseException {
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");//大小寫(xiě)還是很重要的
Date LoveDay=new Date();
Date now=new Date();
LoveDay=format.parse("2016-08-06");
int day=(int) ((now.getTime()-LoveDay.getTime())/(24*60*60*1000));
System.out.println(day);
}
日期工具類(lèi)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
public static final String MINUTE_PATTERN = "yyyy-MM-dd HH:mm";
public static final String HOUR_PATTERN = "yyyy-MM-dd HH:mm:ss";
public static final String DATE_PATTERN = "yyyy-MM-dd";
public static final String MONTH_PATTERN = "yyyy-MM";
public static final String YEAR_PATTERN = "yyyy";
public static final String MINUTE_ONLY_PATTERN = "mm";
public static final String HOUR_ONLY_PATTERN = "HH";
/**
* 日期相加減天數(shù)
* @param date 如果為Null,則為當(dāng)前時(shí)間
* @param days 加減天數(shù)
* @param includeTime 是否包括時(shí)分秒,true表示包含
* @return
* @throws ParseException
*/
public static Date dateAdd(Date date, int days, boolean includeTime) throws ParseException{
if(date == null){
date = new Date();
}
if(!includeTime){
SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.DATE_PATTERN);
date = sdf.parse(sdf.format(date));
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days);
return cal.getTime();
}
/**
* 時(shí)間格式化成字符串
* @param date Date
* @param pattern StrUtils.DATE_TIME_PATTERN || StrUtils.DATE_PATTERN, 如果為空,則為yyyy-MM-dd
* @return
* @throws ParseException
*/
public static String dateFormat(Date date, String pattern) throws ParseException{
if(pattern==null||pattern.length()==0||pattern.equals(" ")){
pattern = DateUtils.DATE_PATTERN;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
/**
* 字符串解析成時(shí)間對(duì)象
* @param dateTimeString String
* @param pattern StrUtils.DATE_TIME_PATTERN || StrUtils.DATE_PATTERN,如果為空,則為yyyy-MM-dd
* @return
* @throws ParseException
*/
public static Date dateParse(String dateTimeString, String pattern) throws ParseException{
if(pattern==null||pattern.length()==0||pattern.equals(" ")){
pattern = DateUtils.DATE_PATTERN;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.parse(dateTimeString);
}
/**
* 將日期時(shí)間格式成只有日期的字符串(可以直接使用dateFormat,Pattern為Null進(jìn)行格式化)
* @param dateTime Date
* @return
* @throws ParseException
*/
public static String dateTimeToDateString(Date dateTime) throws ParseException{
String dateTimeString = DateUtils.dateFormat(dateTime, DateUtils.DATE_TIME_PATTERN);
return dateTimeString.substring(0, 10);
}
/**
* 當(dāng)時(shí)、分、秒為00:00:00時(shí),將日期時(shí)間格式成只有日期的字符串,
* 當(dāng)時(shí)、分、秒不為00:00:00時(shí),直接返回
* @param dateTime Date
* @return
* @throws ParseException
*/
public static String dateTimeToDateStringIfTimeEndZero(Date dateTime) throws ParseException{
String dateTimeString = DateUtils.dateFormat(dateTime, DateUtils.DATE_TIME_PATTERN);
if(dateTimeString.endsWith("00:00:00")){
return dateTimeString.substring(0, 10);
}else{
return dateTimeString;
}
}
/**
* 將日期時(shí)間格式成日期對(duì)象,和dateParse互用
* @param dateTime Date
* @return Date
* @throws ParseException
*/
public static Date dateTimeToDate(Date dateTime) throws ParseException{
Calendar cal = Calendar.getInstance();
cal.setTime(dateTime);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
/**
* 時(shí)間加減小時(shí)
* @param startDate 要處理的時(shí)間,Null則為當(dāng)前時(shí)間
* @param hours 加減的小時(shí)
* @return Date
*/
public static Date dateAddHours(Date startDate, int hours) {
if (startDate == null) {
startDate = new Date();
}
Calendar c = Calendar.getInstance();
c.setTime(startDate);
c.set(Calendar.HOUR, c.get(Calendar.HOUR) + hours);
return c.getTime();
}
/**
* 時(shí)間加減分鐘
* @param startDate 要處理的時(shí)間,Null則為當(dāng)前時(shí)間
* @param minutes 加減的分鐘
* @return
*/
public static Date dateAddMinutes(Date startDate, int minutes) {
if (startDate == null) {
startDate = new Date();
}
Calendar c = Calendar.getInstance();
c.setTime(startDate);
c.set(Calendar.MINUTE, c.get(Calendar.MINUTE) + minutes);
return c.getTime();
}
/**
* 時(shí)間加減秒數(shù)
* @param startDate 要處理的時(shí)間,Null則為當(dāng)前時(shí)間
* @param minutes 加減的秒數(shù)
* @return
*/
public static Date dateAddSeconds(Date startDate, int seconds) {
if (startDate == null) {
startDate = new Date();
}
Calendar c = Calendar.getInstance();
c.setTime(startDate);
c.set(Calendar.SECOND, c.get(Calendar.SECOND) + seconds);
return c.getTime();
}
/**
* 時(shí)間加減天數(shù)
* @param startDate 要處理的時(shí)間,Null則為當(dāng)前時(shí)間
* @param days 加減的天數(shù)
* @return Date
*/
public static Date dateAddDays(Date startDate, int days) {
if (startDate == null) {
startDate = new Date();
}
Calendar c = Calendar.getInstance();
c.setTime(startDate);
c.set(Calendar.DATE, c.get(Calendar.DATE) + days);
return c.getTime();
}
/**
* 時(shí)間加減月數(shù)
* @param startDate 要處理的時(shí)間,Null則為當(dāng)前時(shí)間
* @param months 加減的月數(shù)
* @return Date
*/
public static Date dateAddMonths(Date startDate, int months) {
if (startDate == null) {
startDate = new Date();
}
Calendar c = Calendar.getInstance();
c.setTime(startDate);
c.set(Calendar.MONTH, c.get(Calendar.MONTH) + months);
return c.getTime();
}
/**
* 時(shí)間加減年數(shù)
* @param startDate 要處理的時(shí)間,Null則為當(dāng)前時(shí)間
* @param years 加減的年數(shù)
* @return Date
*/
public static Date dateAddYears(Date startDate, int years) {
if (startDate == null) {
startDate = new Date();
}
Calendar c = Calendar.getInstance();
c.setTime(startDate);
c.set(Calendar.YEAR, c.get(Calendar.YEAR) + years);
return c.getTime();
}
/**
* 時(shí)間比較(如果myDate>compareDate返回1,<返回-1,相等返回0)
* @param myDate 時(shí)間
* @param compareDate 要比較的時(shí)間
* @return int
*/
public static int dateCompare(Date myDate, Date compareDate) {
Calendar myCal = Calendar.getInstance();
Calendar compareCal = Calendar.getInstance();
myCal.setTime(myDate);
compareCal.setTime(compareDate);
return myCal.compareTo(compareCal);
}
/**
* 獲取兩個(gè)時(shí)間中最小的一個(gè)時(shí)間
* @param date
* @param compareDate
* @return
*/
public static Date dateMin(Date date, Date compareDate) {
if(date == null){
return compareDate;
}
if(compareDate == null){
return date;
}
if(1 == dateCompare(date, compareDate)){
return compareDate;
}else if(-1 == dateCompare(date, compareDate)){
return date;
}
return date;
}
/**
* 獲取兩個(gè)時(shí)間中最大的一個(gè)時(shí)間
* @param date
* @param compareDate
* @return
*/
public static Date dateMax(Date date, Date compareDate) {
if(date == null){
return compareDate;
}
if(compareDate == null){
return date;
}
if(1 == dateCompare(date, compareDate)){
return date;
}else if(-1 == dateCompare(date, compareDate)){
return compareDate;
}
return date;
}
/**
* 獲取兩個(gè)日期(不含時(shí)分秒)相差的天數(shù),不包含今天
* @param startDate
* @param endDate
* @return
* @throws ParseException
*/
public static int dateBetween(Date startDate, Date endDate) throws ParseException {
Date dateStart = dateParse(dateFormat(startDate, DATE_PATTERN), DATE_PATTERN);
Date dateEnd = dateParse(dateFormat(endDate, DATE_PATTERN), DATE_PATTERN);
return (int) ((dateEnd.getTime() - dateStart.getTime())/1000/60/60/24);
}
/**
* 獲取兩個(gè)日期(不含時(shí)分秒)相差的天數(shù),包含今天
* @param startDate
* @param endDate
* @return
* @throws ParseException
*/
public static int dateBetweenIncludeToday(Date startDate, Date endDate) throws ParseException {
return dateBetween(startDate, endDate) + 1;
}
/**
* 獲取日期時(shí)間的年份,如2017-02-13,返回2017
* @param date
* @return
*/
public static int getYear(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.YEAR);
}
/**
* 獲取日期時(shí)間的月份,如2017年2月13日,返回2
* @param date
* @return
*/
public static int getMonth(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.MONTH) + 1;
}
/**
* 獲取日期時(shí)間的第幾天(即返回日期的dd),如2017-02-13,返回13
* @param date
* @return
*/
public static int getDate(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.DATE);
}
/**
* 獲取日期時(shí)間當(dāng)月的總天數(shù),如2017-02-13,返回28
* @param date
* @return
*/
public static int getDaysOfMonth(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.getActualMaximum(Calendar.DATE);
}
/**
* 獲取日期時(shí)間當(dāng)年的總天數(shù),如2017-02-13,返回2017年的總天數(shù)
* @param date
* @return
*/
public static int getDaysOfYear(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.getActualMaximum(Calendar.DAY_OF_YEAR);
}
/**
* 根據(jù)時(shí)間獲取當(dāng)月最大的日期
* <li>2017-02-13,返回2017-02-28</li>
* <li>2016-02-13,返回2016-02-29</li>
* <li>2016-01-11,返回2016-01-31</li>
* @param date Date
* @return
* @throws Exception
*/
public static Date maxDateOfMonth(Date date) throws Exception {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int value = cal.getActualMaximum(Calendar.DATE);
return dateParse(dateFormat(date, MONTH_PATTERN) + "-" + value, null);
}
/**
* 根據(jù)時(shí)間獲取當(dāng)月最小的日期,也就是返回當(dāng)月的1號(hào)日期對(duì)象
* @param date Date
* @return
* @throws Exception
*/
public static Date minDateOfMonth(Date date) throws Exception {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int value = cal.getActualMinimum(Calendar.DATE);
return dateParse(dateFormat(date, MONTH_PATTERN) + "-" + value, null);
}
} public static void main(String[] args) throws Exception {
System.out.println(dateTimeToDate(new Date()));
System.out.println(dateParse("2017-02-04 14:58:20", null));
System.out.println(dateTimeToDateStringIfTimeEndZero(new Date()));
System.out.println(dateTimeToDateStringIfTimeEndZero(dateTimeToDate(new Date())));
System.out.println(dateBetween(dateParse("2017-01-30", null), dateParse("2017-02-01", null)));
System.out.println(dateBetweenIncludeToday(dateParse("2017-01-30", null), dateParse("2017-02-01", null)));
System.out.println(getDate(dateParse("2017-01-17", null)));
System.out.println(getDaysOfMonth(dateParse("2017-02-01", null)));
System.out.println(getDaysOfYear(dateParse("2017-01-30", null)));
/* System.out.println(dateFormat(dateAddMonths(dateParse("2017-02-07", StrUtils.MONTH_PATTERN), -12), StrUtils.MONTH_PATTERN));*/
System.out.println(dateFormat(maxDateOfMonth(dateParse("2016-02", "yyyy-MM")), null));
System.out.println(dateFormat(minDateOfMonth(dateParse("2016-03-31", null)), null));
}
到此這篇關(guān)于關(guān)于Java日期工具類(lèi)的編寫(xiě)的文章就介紹到這了,更多相關(guān)Java日期工具類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Struts1簡(jiǎn)介和入門(mén)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Struts1簡(jiǎn)介和入門(mén)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
JAVALambda表達(dá)式與函數(shù)式接口詳解
大家好,本篇文章主要講的是JAVALambda表達(dá)式與函數(shù)式接口詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下2022-02-02
java如何根據(jù)IP獲取當(dāng)前區(qū)域天氣信息詳解
根據(jù)IP自動(dòng)獲取當(dāng)?shù)氐奶鞖忸A(yù)報(bào)信息這個(gè)功能大家應(yīng)該都遇到過(guò),天氣預(yù)報(bào)信息用途非常廣泛,篇文章主要給大家介紹了關(guān)于java如何根據(jù)IP獲取當(dāng)前區(qū)域天氣信息的相關(guān)資料,需要的朋友可以參考下2021-08-08
Java AQS(AbstractQueuedSynchronizer)源碼解析
AbstractQueuedSynchronizer被稱(chēng)為隊(duì)列同步器,簡(jiǎn)稱(chēng)為大家熟知的AQS,這個(gè)類(lèi)可以稱(chēng)作concurrent包的基礎(chǔ)。本文將通過(guò)剖析源碼來(lái)看看AQS是如何工作的,感興趣的可以了解一下2023-02-02
SpringBoot打包成Docker鏡像的幾種實(shí)現(xiàn)方式
Spring Boot是一個(gè)用于構(gòu)建獨(dú)立的、可執(zhí)行的Spring應(yīng)用程序的框架,結(jié)合使用Spring Boot和Docker,可以方便地將應(yīng)用程序部署到不同的環(huán)境中本文,主要介紹了SpringBoot打包成Docker鏡像的幾種實(shí)現(xiàn)方式,感興趣的可以了解一下2024-01-01
JavaCV實(shí)戰(zhàn)之調(diào)用攝像頭基礎(chǔ)詳解
這篇文章主要介紹了使用JavaCV框架對(duì)攝像頭進(jìn)行各種處理的基礎(chǔ)理論詳解,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaCV有一定的幫助,需要的可以了解一下2022-01-01
idea install 時(shí)提示jdk的某個(gè)jar包的包不存在的問(wèn)題
這篇文章主要介紹了idea install 時(shí)提示jdk的某個(gè)jar包的包不存在的問(wèn)題,本文給大家分享解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
SpringBoot中引入MyBatisPlus的常規(guī)操作
這篇文章主要介紹了SpringBoot中引入MyBatisPlus的常規(guī)操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

