DateUtil日期工具类
(1)需要导入的包
主要用于Strings.isNullOrEmpty(date)
<!--string处理类-->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
</dependency>
(2)DateUtil类
import com.google.common.base.Strings;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* 功能描述:日期工具
*
*/
public class DateUtil {
/** yyyy-MM-dd */
public static String YYYYMMDD = "yyyy-MM-dd";
/** yyyyMMdd */
public static String yyyyMMdd = "yyyyMMdd";
/** yyyyMMddHHmmss */
public static String yyyyMMddHHmmss = "yyyyMMddHHmmss";
/** yyyy-MM-dd HH:mm:ss **/
public static String YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss";
public static String DDMMMYYYY = "ddMMMyyyy";
public static String yyyyMMddHHmm = "yyyy-MM-dd HH:mm";
/**
* 返回当前时间字符串 YYYYMMDDHHMMSS
*
* @return
*/
public static String getNow() {
return format(new Date(), YYYYMMDDHHMMSS);
}
public static String getNow(String format) {
return format(new Date(), format);
}
public static Date getToday() {
Calendar now = Calendar.getInstance();
return getYYYYMMDD(format(now.getTime(), YYYYMMDD));
}
/**
* <p>
* Description:将字符串转化为日期
* </p>
*
* @param dateString
* 日期字符串
* @return yyyy-MM-dd
* @throws Exception
*/
public static Date getYYYYMMDD(String dateString) {
SimpleDateFormat dateFormat = new SimpleDateFormat(YYYYMMDD);
Date dateTime = null;
try {
dateTime = dateFormat.parse(dateString);
} catch (ParseException e) {
dateTime = null;
} // END TRY
return dateTime;
}
public static Date getYYYYMMDDHHMMSS(String dateString) {
SimpleDateFormat dateFormat = new SimpleDateFormat(YYYYMMDDHHMMSS);
Date dateTime = null;
try {
dateTime = dateFormat.parse(dateString);
} catch (ParseException e) {
dateTime = null;
} // END TRY
return dateTime;
}
public static Date stringtoDate(String dateString) {
SimpleDateFormat dateFormat = new SimpleDateFormat(YYYYMMDDHHMMSS);
Long time=new Long(dateString);
String d = dateFormat.format(time);
Date date = null;
try {
date = dateFormat.parse(d);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
/**
* Get Date from String "yyyy-MM-dd HH:mm"
*
* @param dateString
* @return
*/
public static Date getYYYYMMDDHHmm(String dateString) {
SimpleDateFormat dateFormat = new SimpleDateFormat(yyyyMMddHHmm);
Date dateTime = null;
try {
dateTime = dateFormat.parse(dateString);
} catch (ParseException e) {
dateTime = null;
} // END TRY
return dateTime;
}
/**
* 得到當前日期為周幾
*
* @param date
* @return
*/
public static int dayOfWeek(Date date) {
Calendar aCalendar = Calendar.getInstance();
aCalendar.setTime(date);
int x = aCalendar.get(Calendar.DAY_OF_WEEK);
return x;
}
/**
* 得到當前日期為周幾
*
* @param date
* @return
*/
public static String getWeek(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return new SimpleDateFormat("EEEE").format(c.getTime());
}
/**
* 得到几天前的时间
*/
public static Date getDateBefore(Date d, int day) {
Calendar now = Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE, now.get(Calendar.DATE) - day);
return now.getTime();
}
/**
* 返回字符型日期时间
*
* @param date
* 日期
* @return 返回字符型日期时间
*/
public static String getDateTime(Date date) {
return format(date, "yyyy-MM-dd HH:mm:ss");
}
/**
* 返回字符型日期时间
*
* @param date
* 日期
* @return 返回字符型日期时间
*/
public static String getDateTime(Date date ,String format) {
return format(date, format);
}
/**
* 格式化输出日期
*
* @param date
* 日期
* @param format
* 格式
* @return 返回字符型日期
*/
public static String format(Date date, String format) {
String result = "";
try {
if (date != null) {
java.text.DateFormat df = new SimpleDateFormat(format);
result = df.format(date);
}
} catch (Exception e) {
}
return result;
}
/**
* 将日期类型格式化为字符串
*
* @param date
* yyyy-MM-dd HH:mm:ss
* @return
*/
public static String format(Date date) {
return format(date, YYYYMMDDHHMMSS);
}
public static String format(Long millis) {
Calendar now = Calendar.getInstance();
now.setTimeInMillis(millis);
return format(now.getTime(), YYYYMMDDHHMMSS);
}
/**
* 得到几天后的时间
*/
public static Date getDateAfter(Date d, int day) {
Calendar now = Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
return now.getTime();
}
/**
* 得到几天后的时间
*/
public static String getDateAfter(String d, int day) {
Calendar now = Calendar.getInstance();
now.setTime(formatDate(d, DateUtil.YYYYMMDD));
now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
return format(now.getTime(), DateUtil.YYYYMMDD);
}
/**
* 得到几天后的时间
*/
public static String getDateAfter(String d, String format, int day) {
Calendar now = Calendar.getInstance();
now.setTime(formatDate(d, format));
now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
return format(now.getTime(), format);
}
/**
* @description: 根据日期,类型,数值得到加减后的日期
* @param date
* 日期
* @param type
* 类型,为year,month,day,hour.....
* @param amount
* 时间加减的数值
* @return:
*/
public static Date getDateAdd(Date date, String type, int amount) {
if (date == null) {
return date;
} else {
Calendar now = Calendar.getInstance();
now.setTime(date);
if ("year".equalsIgnoreCase(type)) {
now.add(Calendar.YEAR, amount);
} else if ("month".equalsIgnoreCase(type)) {
now.add(Calendar.MONTH, amount);
} else if ("day".equalsIgnoreCase(type)) {
now.add(Calendar.DATE, amount);
} else if ("hour".equalsIgnoreCase(type)) {
now.add(Calendar.HOUR_OF_DAY, amount);
} else if ("minute".equalsIgnoreCase(type)) {
now.add(Calendar.MINUTE, amount);
} else if ("second".equalsIgnoreCase(type)) {
now.add(Calendar.SECOND, amount);
} else if ("millsecond".equalsIgnoreCase(type)) {
now.add(Calendar.MILLISECOND, amount);
}
return now.getTime();
}
}
/**
* 两个时间之间的天数
*
* @param date1
* @param date2
* @return
* @throws ParseException
*/
public static long getDays(String date1, String date2) throws ParseException {
if (date1 == null || date1.equals(""))
return 0;
if (date2 == null || date2.equals(""))
return 0;
// 转换为标准时间
SimpleDateFormat myFormatter = new SimpleDateFormat(YYYYMMDD);
Date date = null;
Date mydate = null;
date = myFormatter.parse(date1);
mydate = myFormatter.parse(date2);
long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
return day;
}
public static long getHours(Date date1, Date date2) {
if (date1 == null)
return 0;
if (date2 == null)
return 0;
long hours = (date1.getTime() - date2.getTime()) / (60 * 60 * 1000);
return hours;
}
public static long getMins(Date date1, Date date2) {
if (date1 == null)
return 0;
if (date2 == null)
return 0;
long mins = (date1.getTime() - date2.getTime()) / (60 * 1000);
return mins;
}
/**
* 两个时间之间的天数
*
* @param date1
* @param date2
* @return
*/
public static long getDays(Date date1, Date date2) {
if (date1 == null)
return 0;
if (date2 == null)
return 0;
long day = (date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000);
return day;
}
/**
* 格式化日期
*
* @param date
* @return
*/
public static Date formatDate(String date) {
Date d = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
d = sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return d;
}
/**
* 按指定格式格式化日期
*
* @param date
* @param format
* @return
*/
public static Date formatDate(String date, String format) {
Date d = null;
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
d = sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return d;
}
/**
* 将yyyy-MM-dd时间格式转换成ddMMMyy
*
* @param dateString
* @return
*/
public static String stringToDateddMMMyy(String dateString) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyy", Locale.US);
try {
Date dateTime = sf.parse(dateString);
dateString = sdf.format(dateTime);
} catch (ParseException e) {
throw new RuntimeException("Not a date!");
}
return dateString;
}
/**
* 将ddMMMyy时间格式转换成yyyy-MM-dd
*
* @param dateString
* @return
*/
public static String ddMMMyyToYYYYMMDD(String dateString) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyy", Locale.US);
try {
Date dateTime = sdf.parse(dateString);
dateString = sf.format(dateTime);
} catch (ParseException e) {
throw new RuntimeException("Not a date!");
}
return dateString;
}
/**
* 将yyyy-MM-dd时间格式转换成MMMyy
*
* @param dateString
* @return
*/
public static String stringToDateMMMyy(String dateString) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf = new SimpleDateFormat("MMMyy", Locale.US);
try {
Date dateTime = sf.parse(dateString);
dateString = sdf.format(dateTime);
} catch (ParseException e) {
throw new RuntimeException("Not a date!");
}
return dateString;
}
/**
* 将时间格式转换成ddMMMyy
*
* @param date
* @return
*/
public static String dateToDateddMMMyy(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyy", Locale.US);
String dateString = sdf.format(date);
return dateString;
}
/**
* ddMMMyy时间格式转为Date
*
* @param dateString
* @return
*/
public static Date ddMMMyyToDate(String dateString) {
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyy", Locale.US);
try {
return sdf.parse(dateString);
} catch (ParseException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* 将时间格式转换成ddMMM
*
* @param date
* @return
*/
public static String dateToDateddMMM(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("ddMMM", Locale.US);
String dateString = sdf.format(date);
return dateString;
}
/**
* ddMMMyyHHmm时间格式转为Date
*
* @param dateString
* @return
*/
public static Date ddMMMyyHHmmToDate(String dateString) {
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyyHHmm", Locale.US);
try {
return sdf.parse(dateString);
} catch (ParseException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* ddMMMyyyyHHmm时间格式转为Date
*
* @param dateString
* @return
*/
public static Date ddMMMyyyyHHmmToDate(String dateString) {
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyyyyHHmm", Locale.US);
try {
return sdf.parse(dateString);
} catch (ParseException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* 计算某个日期的前n天
*
* @param date
* @param count
* @return
*/
public static Date getCountDate(Date date, int count) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
long timeCount = c.getTimeInMillis() - count * 1000 * 60 * 60 * 24;// .getTime().getTime();
c.setTimeInMillis(timeCount);
return c.getTime();
}
/**
* 计算某个日期与当天的相差天数
*
* @param date1
* @return
*/
public static int countDays(Date date1) {
Calendar c = Calendar.getInstance();
Calendar c1 = Calendar.getInstance();
c.setTime(date1);
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
c1.setTime(new Date());
c1.set(Calendar.HOUR, 0);
c1.set(Calendar.MINUTE, 0);
c1.set(Calendar.SECOND, 0);
long count = c.getTimeInMillis() - c1.getTimeInMillis();
int day = (int) Math.ceil(count / 86400000);
return day;
}
public static final Pattern eeDDMMyy = Pattern.compile("^([a-zA-Z]{2})([0-9]{2}[a-zA-Z]{3})([0-9]{2})$");
public static final Pattern eeDDMMM = Pattern.compile("^([a-zA-Z]{2})([0-9]{2}[a-zA-Z]{3})$");
public static final Pattern ddMMM = Pattern.compile("^([0-9]{2})([a-zA-Z]{3})$");
public static final Pattern ddMMMyy = Pattern.compile("^([0-9]{2})([a-zA-Z]{3})([0-9]{2})$");
/**
* 解析黑屏PNR返回的日期格式 解析规则:默认使用当前年份,若得到的日期中星期与PNR中星期不对应 则使用下一年和上一年的年份,否则返回null
*
* @param pnrDateStr
* 必须是 Th25OCT 或者Th25OCT13 或者 ddMMM ddMMMyy 格式
* @return 格式不满足条件则返回null
*/
public static Date parseDateFormPnr(String pnrDateStr) {
if (pnrDateStr == null || pnrDateStr.isEmpty()) {
return null;
}
Matcher matchereeDDMMM = eeDDMMM.matcher(pnrDateStr);
Matcher matchereeDDMMMyy = eeDDMMyy.matcher(pnrDateStr);
Matcher matcherddMMM = ddMMM.matcher(pnrDateStr);
Matcher matcherddMMMyy = ddMMMyy.matcher(pnrDateStr);
// 匹配EEDDMMM
if (matchereeDDMMM.matches()) {
String week = matchereeDDMMM.group(1);
Calendar calendar = Calendar.getInstance();
String ddmmmyyyyStr = matchereeDDMMM.group(2) + calendar.get(Calendar.YEAR);
SimpleDateFormat sdf = new SimpleDateFormat(DDMMMYYYY, Locale.US);
Date date;
try {
date = sdf.parse(ddmmmyyyyStr);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
calendar.setTime(date);
int calendarWeek = parseDayOfWeek(week);
if (calendar.get(Calendar.DAY_OF_WEEK) == calendarWeek) {
return date;
} else {
calendar.add(Calendar.YEAR, 1);
if (calendar.get(Calendar.DAY_OF_WEEK) == calendarWeek) {
return calendar.getTime();
} else {
calendar.add(Calendar.YEAR, -2);
if (calendar.get(Calendar.DAY_OF_WEEK) == calendarWeek) {
return calendar.getTime();
} else {
return null;
}
}
}
}
// 匹配EEDDMMMyy
if (matchereeDDMMMyy.matches()) {
String ddmmmyyStr = matchereeDDMMMyy.group(2) + matchereeDDMMMyy.group(3);
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyy", Locale.US);
Date date;
try {
date = sdf.parse(ddmmmyyStr);
return date;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
// 匹配DDMMM
if (matcherddMMM.matches()) {
String ddmmmyyStr = pnrDateStr;
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("ddMMM", Locale.US);
Date date;
try {
int year = c.get(Calendar.YEAR);
date = sdf.parse(ddmmmyyStr);
c.setTime(date);
c.set(Calendar.YEAR, year);
return c.getTime();
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
// 匹配ddMMMyy
if (matcherddMMMyy.matches()) {
String ddmmmyyStr = pnrDateStr;
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyy", Locale.US);
Date date;
try {
date = sdf.parse(ddmmmyyStr);
return date;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
return null;
}
/**
* 转化为 yyyy-MM-dd格式
*
* @param pnrDateStr
* @return
*/
public static String formatDateFormPnr(String pnrDateStr) {
Date date = parseDateFormPnr(pnrDateStr);
if (date != null) {
return format(date, "yyyy-MM-dd");
}
return null;
}
/**
* 转化为 黑屏返回的HHmm格式航班日期
*
* @param pnrTimeStr
* 格式:四位 0900
* @return
*/
public static String formatTimeFormPnr(String pnrTimeStr) {
if (pnrTimeStr == null || pnrTimeStr.length() != 4) {
return null;
}
return pnrTimeStr.substring(0, 2) + ":" + pnrTimeStr.substring(2, 4);
}
/**
* 格式化pnr 起飞达到时间
*
* @param flightDate
* pnr航班日期字符串
* @param time
* pnr起飞或到达时间字符串
* @return yyyy-MM-dd HH:ss OR ""
*/
public static String formatDateTimeFormPnr(String flightDate, String time) {
String date = formatDateFormPnr(flightDate);
if (!Strings.isNullOrEmpty(date) && time.length() >= 4) {
int index = time.indexOf("+1");
if (index >= 0) {
time = time.substring(0, index);
date = getDateAfter(date, 1);
}
time = time.substring(0, 2) + ":" + time.substring(2, 4);
return date + " " + time;
} else {
return "";
}
}
/**
* 获取经停分钟数
*
* @return
*/
public static int getStopMins(String arriveTime, String departTime) {
if (!Strings.isNullOrEmpty(arriveTime) && arriveTime.length() >= 4 && !Strings.isNullOrEmpty(departTime)
&& departTime.length() >= 4) {
int arriveHour = Integer.parseInt(arriveTime.substring(0, 2));
int arriveMin = Integer.parseInt(arriveTime.substring(2, 4));
int departHour = Integer.parseInt(departTime.substring(0, 2));
int departMin = Integer.parseInt(departTime.substring(2, 4));
return ((departHour - arriveHour) * 60) + (departMin - arriveMin);
}
return 0;
}
/**
* @Title: getBeforDay @Description: 获取当前时间的前一天 @param @param
* date @param @return @return Date @throws
*/
public static String getBeforOneDay(Date date, String format) {
SimpleDateFormat dateFormat = new SimpleDateFormat(format);
String dateStr = formatDate(date, format);
try {
date = dateFormat.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, -1);
date = calendar.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return dateStr = formatDate(date, format);
}
/**
* 把字符串格式化成日期
*
* @param argDateStr
* @param argFormat
* @return
*/
public static Date formatStringToDate(String argDateStr, String argFormat) {
if (argDateStr == null || argDateStr.trim().length() < 1) {
return null;
}
SimpleDateFormat sdfFormat = null;
Date result = null;
try {
String strFormat = argFormat;
if (Strings.isNullOrEmpty(strFormat)) {
strFormat = yyyyMMdd;
if (argDateStr.length() > 16) {
strFormat = YYYYMMDDHHMMSS;
} else if (argDateStr.length() > 10) {
strFormat = yyyyMMddHHmm;
}
}
sdfFormat = new SimpleDateFormat(strFormat);
result = sdfFormat.parse(argDateStr);
} catch (Exception e) {
result = null;
} finally {
sdfFormat = null;
}
return result;
}
/**
* 格式化日期格式
*
* @param argDate
* @param argFormat
* @return 格式化后的日期字符串
*/
public static String formatDate(Date argDate, String argFormat) {
if (argDate == null) {
return "";
}
SimpleDateFormat sdfFrom = null;
String strResult = null;
try {
sdfFrom = new SimpleDateFormat(argFormat);
strResult = sdfFrom.format(argDate).toString();
} catch (Exception e) {
strResult = "";
} finally {
sdfFrom = null;
}
return strResult;
}
// 获取当天时间的前n天时间
public static Date getBeforDay(Date date, int day) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, -day);
date = calendar.getTime();
return date;
}
//两分钟后
public static Long getAfterTwoMinute() {
Calendar canlendar = Calendar.getInstance(); // java.util包
Long current = canlendar.getTimeInMillis();
canlendar.add(Calendar.MINUTE, 2);
Long after = canlendar.getTimeInMillis();
return after;
}
public static void main(String[] args) {
/*
* SimpleDateFormat sdf = new SimpleDateFormat("ddMMM", Locale.US);
* System.out.println(sdf.format(new Date()).toUpperCase());
*/
/*
* System.out.println(parseDateFormPnr("TU23APR"));
* System.out.println(parseDateFormPnr("WE23APR14"));
* System.out.println(parseDateFormPnr("23APR"));
* System.out.println(parseDateFormPnr("23APR13"));
*/
// System.out.println(getBeforDay(new Date(),"yyyy-MM-dd"));
// System.out.println( getBeforOneDay( new Date(), "yyyy-MM-dd" ) );
// SimpleDateFormat fomat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ms");
// System.out.println(fomat.format(getToday()));
System.out.println(DateUtil.stringtoDate("1445839889"));
}
/**
* 计算并格式化消耗时间<br>
* generate by: vakin jiang at 2012-2-16
*
* @param startPoint
* @return
*/
public static String formatTimeConsumingInfo(long startPoint) {
StringBuffer buff = new StringBuffer();
long totalMilTimes = System.currentTimeMillis() - startPoint;
int mi = (int) Math.floor(totalMilTimes / 60000);
int se = (int) Math.floor((totalMilTimes - 60000 * mi) / 1000);
if (mi > 0)
buff.append(mi).append("mins ");
buff.append(se).append("s");
return buff.toString();
}
/**
* 得到當前日期的前一个月
*
* @return
*/
public static String getLastMonth() {
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1);
SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
String time = format.format(c.getTime());
return time;
}
}
DateUtil日期工具类的更多相关文章
- 日期工具类 - DateUtil.java
日期工具类,提供对日期的格式化和转换方法.获取区间日期.指定日期.每月最后一天等. 源码如下:(点击下载 -DateUtil.java.commons-lang-2.6.jar ) import ja ...
- java日期工具类DateUtil
一名优秀的程序员,不仅需要有着丰富解决问题的方案,还需要的便是代码的沉淀,这不仅有助于自己快速的开发程序,也有利于保证程序的健壮.那如何才能沉淀自己的”代码“呢?从自己编写util开始其实就是一个不错 ...
- JS 日期工具类-基于yDate
源码下载 前言:最近在用到JS日期操作时,发现有一些不方便,于是搜素了一些网上的资料,基于一个开源工具类-yDate 进行了个性化定制,封装成了一个日期工具类工具函数大概介绍:1.普通的日期操作2. ...
- java日期工具类DateUtil-续一
上篇文章中,我为大家分享了下DateUtil第一版源码,但就如同文章中所说,我发现了还存在不完善的地方,所以我又做了优化和扩展. 更新日志: 1.修正当字符串日期风格为MM-dd或yyyy-MM时,若 ...
- java日期工具类DateUtil-续二
该版本是一次较大的升级,农历相比公历复杂太多(真佩服古人的智慧),虽然有规律,但涉及到的取舍.近似的感念太多,况且本身的概念就已经很多了,我在网上也是查阅了很多的资料,虽然找到一些计算的方法,但都有些 ...
- JAVA 日期工具类的总结
一般,在项目中,我们会会经常使用到日期的各种方式的处理,在各个业务逻辑操作中,都需要相关的日期操作,因此,实现项目中的日期工具类的提出,还是十分重要的,下面,就项目中常用到的日期的相关操作方式,做了一 ...
- Java案例——日期工具类
需求:定义一个日期工具类,包含两个方法,按日期转化成指定格式的字符串,把字符串解析为指定格式的日期 然后定义一个测试类测试 分析: 1.定义一个日期工具类 2.定义一个方法dateToString,用 ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- JAVA 8 日期工具类
JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...
随机推荐
- robot framework之弹出窗口的处理关键字实战
1.1 弹出窗口的处理关键字 5.8.1 Alert Should Be Present关键字 按F5 查看Alert Should Be Present关键字的说明,如下图
- .NET之JSON序列化运用
1.项目引用NuGet包:搜索:Newtonsoft.Json 2.序列号实例 using System; using System.Collections.Generic; using System ...
- React Native在特赞的应用与实践
基于React技术栈构建开发前端项目,并使用React Native开发特赞移动APP 目前正在使用Node.js开发和维护特赞服务网关,希望Node.js能够在更轻量级的微服务架构中发挥重要作用 课 ...
- aliyun oss操作汇总
// endpoint以杭州为例,其它region请按实际情况填写 String endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; ...
- Hexo的更新 主题的更换
1:HEXO更新 ①hexo generate ②hexo deploy 2: HEXO主题的更换,①找到主题的github地址后 进入自己的HEXO文件夹然后 git clone xxxx(地址) ...
- Android 5.x Theme 与 ToolBar 实战
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45303349: 本文出自:[张鸿洋的博客] 1.概述 随着Material D ...
- 6.app架构基础
app架构,一个听起来高大尚的名字,很多小伙伴听到这个词语感觉很迷茫,不知道架构具体说的是啥?在q群里,"app后端应该怎么架构"这个问题被问了无数次.通过阅读本文,根据本人提出的 ...
- VS编译代码未通过,常见问题。
问题一:LNK2028 这个问题一般是什么函数在哪里被引用.修改的方法是:先检查是否包含头文件,如果已经包含了头文件,则检查在源文件的"import.cpp"中是否包含了该lib文 ...
- BZOJ3252: 攻略 可并堆
网上有很多人说用dfs序+线段树做...其实stl的堆可以...可并堆可以...很多奇奇怪怪的东西都能做... 可并堆比较好想...也比较好写... 分析: 首先,这是一个网络流做不了的题...数据太 ...
- 全文检索选择-------- Elasticsearch与Solr
Elasticsearch简介* Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据. 它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三 ...