package com.nuc.device.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.concurrent.TimeUnit;
/**
* Created by guoqiang on 2015/06/02.
* 时间工具类
*/
public final class TimeTools {
private static final long MI_OF_HOUR = 60 * 60 * 1000;//1小时毫秒数
private static final String YYYY_MM_DD = "yyyy-MM-dd";
private static final String YYYY_MM_DD_HH_MI_SS = "yyyy-MM-dd HH:mm:ss";
private static final String YYYY_MM_DD_HH_MI_SS_S = "yyyy-MM-dd HH:mm:ss.SSS";
public static String format(Date date, String format) {
if (date == null || format == null) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
public static String format4YYYYMMDD(Date date) {
return format(date, YYYY_MM_DD);
}
public static String formatAllTime(Date date) {
return format(date, YYYY_MM_DD_HH_MI_SS_S);
}
public static String format4YYYYMMDDHHMISS(Date date) {
return format(date, YYYY_MM_DD_HH_MI_SS);
}
public static Date parse(String time, String format) {
if (StringTools.isEmpty(time)) {
return null;
}
try {
return new SimpleDateFormat(format).parse(time);
} catch (ParseException e) {
}
return null;
}
public static Date parseYYYY_MM_DD(String time) {
return parse(time, YYYY_MM_DD);
}
public static Date parseYYYY_MM_DD_HH_MI_SS(String time) {
return parse(time, YYYY_MM_DD_HH_MI_SS);
}
public static String getNowTimeStr() {
return format4YYYYMMDDHHMISS(createNowTime());
}
/**
* 克隆一个新的时间对象
*
* @param date
* @return
*/
public static Date cloneDate(Date date) {
return new Date(date.getTime());
}
/**
* 创建一个当前时间的时间对象
*
* @return
*/
public static Date createNowTime() {
return getCalendar().getTime();
}
public static String getNowTimeAllStr() {
return formatAllTime(createNowTime());
}
/**
* 根据年月日创建时间 时分秒默认为0
*
* @param year
* @param month
* @param date
* @return
*/
public static Date createTime(int year, int month, int date) {
return createTime(year, month, date, 0, 0, 0);
}
/**
* 根据年月日时分秒创建时间
*
* @param year
* @param month
* @param date
* @param hour
* @param minute
* @param second
* @return
*/
public static Date createTime(int year, int month, int date, int hour, int minute, int second) {
Calendar calendar = getCalendar();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, date);
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, second);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTime();
}
/**
* Description: 返回需要获得的某一天的结束时间 如 昨天的结束时间:2015-08-09 23:59:59
*
* @param date
* @param selectDate 想要获取的时间参数 以当天为例 -1表示前一天 +1表示后一天 0 表示 当天
* @Version1.0 2015-8-10 上午9:01:57 by 雷霆(leiting01@10101111.com)创建
*/
public static void setEndDay(Date date, int selectDate) {
if (date == null) {
return;
}
Calendar calendar = getCalendar();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
calendar.add(Calendar.DATE, selectDate);
date.setTime(calendar.getTimeInMillis());
}
/**
* Description: 返回需要获得的某一天的开始时间 如 2015-08-09 00:00:00
*
* @param date
* @param selectDate 想要获取的时间参数 以当天为例 -1表示前一天 +1表示后一天 0 表示 当天
* @Version1.0 2015-8-10 上午9:01:57 by 雷霆(leiting01@10101111.com)创建
*/
public static void setStartDay(Date date, int selectDate) {
if (date == null) {
return;
}
Calendar calendar = getCalendar();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.add(Calendar.DATE, selectDate);
date.setTime(calendar.getTimeInMillis());
}
/**
* Description: 该方法用于获取想要的某一天的开始时间 如 2015-08-09 00:00:00
*
* @param date 需要设置的日期
* @param selectDate 需要设置的天数
* @return
* @Version1.0 2015-8-25 上午10:42:57 by 雷霆(leiting01@10101111.com)创建
*/
public static boolean setSomeDay0H0M0S(Date date, Integer selectDate) {
Calendar calendar = getCalendar();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.add(Calendar.DATE, selectDate);
date.setTime(calendar.getTimeInMillis());
return true;
}
/**
* 时间设置到明天的0点0分0秒
*
* @param date
*/
public static void setNextDay0H0M0S0MS(Date date) {
Calendar calendar = getCalendar();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.add(Calendar.DATE, 1);
date.setTime(calendar.getTimeInMillis());
}
/**
* 设置Date到当天的0点0分0秒0毫秒
*
* @param date
*/
public static void set0H0M0S0MS(Date date) {
Calendar calendar = getCalendar();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
date.setTime(calendar.getTimeInMillis());
}
public static void setLastDay0H0M0S(Date date) {
Calendar calendar = getCalendar();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.add(Calendar.DATE, -1);
date.setTime(calendar.getTimeInMillis());
}
public static void setLastMonth1D0H0M0S(Date date) {
Calendar calendar = getCalendar();
calendar.setTime(date);
calendar.add(Calendar.DATE, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.add(Calendar.MONTH, -1);
date.setTime(calendar.getTimeInMillis());
}
public static void setDate(Date date, int field, int value) {
Calendar calendar = getCalendar();
calendar.setTime(date);
calendar.set(field, value);
date.setTime(calendar.getTimeInMillis());
}
/**
* 返回2个时间中间相差的unit数量
*
* @param date1
* @param date2
* @param unit
* @return
*/
public static long dateDiff(Date date1, Date date2, TimeUnit unit) {
return (date2.getTime() - date1.ge
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java是一种高性能、跨平台的面向对象编程语言。它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run Anywhere): Java的代码可以在不同的平台上运行,只需编写一次代码,就可以在任何支持Java的设备上执行。这得益于Java虚拟机(JVM),它充当了代码和底层硬件之间的中介。 面向对象: Java是一种纯粹的面向对象编程语言,支持封装、继承和多态等面向对象的概念。这使得Java编写的代码更加模块化、可维护和可扩展。 多线程支持: Java内置了对多线程的支持,允许程序同时执行多个任务。这对于开发需要高并发性能的应用程序(如服务器端应用、网络应用等)非常重要。 自动内存管理(垃圾回收): Java具有自动内存管理机制,通过垃圾回收器自动回收不再使用的对象,使得开发者不需要手动管理内存,减轻了程序员的负担,同时也减少了内存泄漏的风险。
资源推荐
资源详情
资源评论
收起资源包目录
实验室设备管理系统.zip (358个子文件)
SystemController.class 12KB
PageInterceptor.class 7KB
DevInfoController.class 7KB
UserController.class 7KB
ApplyController.class 7KB
DevInfo.class 6KB
DevInfoServiceImpl.class 6KB
DevInput.class 5KB
DevMaintainController.class 4KB
ExportExcel.class 4KB
CommonController.class 4KB
CommonUtil.class 4KB
DevDumpController.class 4KB
Apply.class 3KB
MathUtils.class 3KB
ApplyServiceImpl.class 3KB
PoiCommonUtils.class 3KB
User.class 3KB
SystemParamUtils.class 3KB
UserServiecImpl.class 3KB
ApplyItem.class 3KB
MenuServiceImpl.class 3KB
DevDump.class 3KB
InitSystemListener.class 3KB
ApplyDaoImpl.class 2KB
PagerHelper.class 2KB
DevMaintain.class 2KB
DevMaintainDaoImpl.class 2KB
SqlSessionAspect.class 2KB
BaseBean.class 2KB
DevDumpDaoImpl.class 2KB
DevInfoDaoImpl.class 2KB
Page.class 2KB
DevMaintainServiceImpl.class 2KB
DirectionDaoImpl.class 2KB
ApplyItemDaoImpl.class 2KB
LoginInterceptor.class 2KB
CategoryDaoImpl.class 2KB
FoundSubDaoImpl.class 2KB
DevCountryDaoImpl.class 2KB
DevDepositDaoImpl.class 2KB
UserDaoImpl.class 2KB
DevOriginDaoImpl.class 2KB
UserDaoTest.class 2KB
DevDumpServiceImpl.class 2KB
CharSetFilter.class 2KB
Test.class 2KB
ExcelColumnBean.class 1KB
CommonUtil$Unit.class 1KB
BaseDao.class 1KB
BuildSerialNumber.class 1KB
UserServiceTest.class 1KB
Menu.class 1KB
MenuDaoImpl.class 1KB
JspageConstant.class 1KB
Country.class 776B
Deposit.class 776B
Power.class 773B
Direction.class 770B
FoundSub.class 767B
Origin.class 767B
Category.class 761B
ApplyService.class 747B
SpringTest.class 726B
MenuDaoTest.class 725B
CommonConstant.class 680B
CommonTest.class 671B
DevInfoService.class 660B
ApplyItemDao.class 636B
UserService.class 600B
DevMaintainDao.class 585B
ApplyDao.class 584B
ExcelColumnName.class 559B
DevInputController.class 533B
DevInfoDao.class 509B
DevMaintainService.class 508B
DevDumpDao.class 506B
DevInputServiceImpl.class 467B
DirectionDao.class 461B
DevInputDaoImpl.class 453B
CategoryDao.class 451B
FoundSubDao.class 451B
DevDepositDao.class 447B
DevCountryDao.class 447B
DevOriginDao.class 437B
DevDumpService.class 437B
MenuService.class 431B
UserDao.class 428B
MenuDao.class 386B
DevInputService.class 134B
DevInputDao.class 122B
bootstrap.min.css 135KB
bootstrap.css 128KB
datepicker3.css 33KB
bootstrap-theme.css 21KB
bootstrap-theme.min.css 18KB
datepicker.css 18KB
styles.css 15KB
bootstrap-table.css 4KB
glyphicons-halflings-regular.eot 20KB
共 358 条
- 1
- 2
- 3
- 4
资源评论
JJJ69
- 粉丝: 6209
- 资源: 5783
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功