java dateutils工具类_DateUtils 日期工具类
public class DateUtils {
/** 分 */
public static final long MINUTE_TTL = 60 * 1000l;
/** 时 */
public static final long HOURS_TTL = 60 * 60 * 1000l;
/** 半天 */
public static final long HALF_DAY_TTL = 12 * 60 * 60 * 1000l;
/** 天 */
public static final long DAY_TTL = 24 * 60 * 60 * 1000l;
/** 月 */
public static final long MONTH_TTL = 30 * 24 * 60 * 60 * 1000l;
/** 时间格式(yyyy-MM-dd) */
public final static String DATE_PATTERN = "yyyy-MM-dd";
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
public static Long getSystemTimeSeconds() {
return System.currentTimeMillis() / 1000L;
}
/**
* 将时间戳转换为时间
* 输入形如:1488510674 输出形如:2017.03.03 HH:mm:ss
* 异常格式返回-1
*
* @param s
* @return
* @author: CRF
*/
public static String getTimestampDateTimeLong(Long s) {
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
Date date = new Date(s * 1000);
res = simpleDateFormat.format(date);
return res;
}
/**
* 将时间戳转换为时间
* 输入形如:1488510674 输出形如:2017.03.03
* 异常格式返回-1
*
* @param s
* @return
* @author: CRF
*/
public static String getTimestampDateLong(Long s) {
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
Date date = new Date(s * 1000);
res = simpleDateFormat.format(date);
return res;
}
/**
* 日期格式化 日期格式为:yyyy-MM-dd
* @param date 日期
* @return 返回yyyy-MM-dd格式日期
*/
public static String format(Date date) {
return format(date, DATE_PATTERN);
}
/**
* 日期格式化 日期格式为:yyyy-MM-dd
* @param date 日期
* @param pattern 格式,如:DateUtils.DATE_TIME_PATTERN
* @return 返回yyyy-MM-dd格式日期
*/
public static String format(Date date, String pattern) {
if(date != null){
SimpleDateFormat df = new SimpleDateFormat(pattern);
return df.format(date);
}
return null;
}
/**
* 字符串转换成日期
* @param strDate 日期字符串
* @param pattern 日期的格式,如:DateUtils.DATE_TIME_PATTERN
*/
public static Date stringToDate(String strDate, String pattern) {
if (StringUtils.isBlank(strDate)){
return null;
}
DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
return fmt.parseLocalDateTime(strDate).toDate();
}
/**
* 根据周数,获取开始日期、结束日期
* @param week 周期 0本周,-1上周,-2上上周,1下周,2下下周
* @return 返回date[0]开始日期、date[1]结束日期
*/
public static Date[] getWeekStartAndEnd(int week) {
DateTime dateTime = new DateTime();
LocalDate date = new LocalDate(dateTime.plusWeeks(week));
date = date.dayOfWeek().withMinimumValue();
Date beginDate = date.toDate();
Date endDate = date.plusDays(6).toDate();
return new Date[]{beginDate, endDate};
}
/**
* 对日期的【秒】进行加/减
*
* @param date 日期
* @param seconds 秒数,负数为减
* @return 加/减几秒后的日期
*/
public static Date addDateSeconds(Date date, int seconds) {
DateTime dateTime = new DateTime(date);
return dateTime.plusSeconds(seconds).toDate();
}
/**
* 对日期的【分钟】进行加/减
*
* @param date 日期
* @param minutes 分钟数,负数为减
* @return 加/减几分钟后的日期
*/
public static Date addDateMinutes(Date date, int minutes) {
DateTime dateTime = new DateTime(date);
return dateTime.plusMinutes(minutes).toDate();
}
/**
* 对日期的【小时】进行加/减
*
* @param date 日期
* @param hours 小时数,负数为减
* @return 加/减几小时后的日期
*/
public static Date addDateHours(Date date, int hours) {
DateTime dateTime = new DateTime(date);
return dateTime.plusHours(hours).toDate();
}
/**
* 对日期的【天】进行加/减
*
* @param date 日期
* @param days 天数,负数为减
* @return 加/减几天后的日期
*/
public static Date addDateDays(Date date, int days) {
DateTime dateTime = new DateTime(date);
return dateTime.plusDays(days).toDate();
}
/**
* 对日期的【周】进行加/减
*
* @param date 日期
* @param weeks 周数,负数为减
* @return 加/减几周后的日期
*/
public static Date addDateWeeks(Date date, int weeks) {
DateTime dateTime = new DateTime(date);
return dateTime.plusWeeks(weeks).toDate();
}
/**
* 对日期的【月】进行加/减
*
* @param date 日期
* @param months 月数,负数为减
* @return 加/减几月后的日期
*/
public static Date addDateMonths(Date date, int months) {
DateTime dateTime = new DateTime(date);
return dateTime.plusMonths(months).toDate();
}
/**
* 对日期的【年】进行加/减
*
* @param date 日期
* @param years 年数,负数为减
* @return 加/减几年后的日期
*/
public static Date addDateYears(Date date, int years) {
DateTime dateTime = new DateTime(date);
return dateTime.plusYears(years).toDate();
}
/**
* 把13位时间戳转换成"yyyy-MM-dd HH:mm:ss"格式
* @param timeLong
* @return
*/
public static String timeStamp2Date(Long timeLong) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式
Date date;
try {
date = sdf.parse(sdf.format(timeLong));
return sdf.format(date);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
* 把13位时间戳转换成"yyyy-MM-dd"格式
* @param timeLong
* @return
*/
public static String timeStampDate(Long timeLong) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//要转换的时间格式
Date date;
try {
date = sdf.parse(sdf.format(timeLong));
return sdf.format(date);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
* 将时间转换为时间戳
* 输入形如:2017-03-03 输出形如:1488510674
* 异常格式返回-1
*/
public static Long getSystemTimeDay(String date) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (!StringUtils.isEmpty(date)) {
Date d = sdf.parse(date);
return d.getTime() / 1000L;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 将时间转换为时间戳
* 输入形如:2017-03-03 输出形如:1488510674(当天日期最大时间戳)
* 异常格式返回-1
*/
public static Long getSystemTimeEndDay(String date) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (!StringUtils.isEmpty(date)) {
Date d = sdf.parse(date);
return d.getTime()/1000L+24*60*60-1;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
java dateutils工具类_DateUtils 日期工具类相关推荐
- java学习--基础知识进阶第五天--API、 Object类 System类、日期相关类、包装类正则表达式...
今日内容介绍 u Object类 & System类 u 日期相关类 u 包装类&正则表达式 第1章 Object类 & System类 1.1 Object类 1.1. ...
- 复习Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节
Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 Stri ...
- SimpleDateFormat类(简单日期格式类)
SimpleDateFormat类(简单日期格式类) 它是一个具体的类(相应的最底层类),用于以区域设置铭感的方式格式化和解析日期.重点学习日期格式化和解析 日期和时间格式由日期和时间模拟字符串指定, ...
- 天干地支 工具类java_java日期工具类DateUtil-续二
该版本是一次较大的升级,农历相比公历复杂太多(真佩服古人的智慧),虽然有规律,但涉及到的取舍.近似的感念太多,况且本身的概念就已经很多了,我在网上也是查阅了很多的资料,虽然找到一些计算的方法,但都有些 ...
- java之进阶语法(Object类及日期时间类)
一.关于Object类 (一)概述 java.lang.object类是java语言的根类,即是所有类的父类. 若一个类没有指定父类,那么默认继承自Object类 object类常用的方法有以下: - ...
- Java学习总结:36(日期处理类)
日期处理类 Date类 Date类常用方法 No. 方法 类型 描述 1 public Date() 构造 实例化Date类对象 2 public Date(long date) 构造 将数字变为Da ...
- JAVA day13,14 API、Object类、日期时间类(long,Date,Calendar,DateFormat)、String类(字符串,可变长字符串)、正则表达式、包装类
1.API API(Application Programming Interface),应⽤程序编程接⼝.Java API是⼀本程序员的"字 典",是JDK提供给我们使⽤的类的说 ...
- Java学习路线-19:日期操作类Date、SimpleDateFormat
第9 章 : 日期操作类 36 Date日期处理类 Date类只是对long数据的一种包装 Date无参构造函数 public Date() {this(System.currentTimeMilli ...
- 学习String类和日期Date类,看这一篇就够了
写在前面,Java基础系列文章都是作者基于b站尚硅谷的Java基础视频所做的笔记,没有时间的同学可以认真看看,如果有时间的同学,还是建议看看视频,毕竟笔记说到底还是自己的东西,每个人的习惯也是不一样的 ...
- Java----常用类:日期相关类、数学运算相关类
常用类 日期相关类 Date类 日期函数 //2012-12-12 00:00:00- 1970-01-01 00:00:00 = 毫秒差: Date date = new pate(); ...
最新文章
- 想要设计自己的微服务?看这篇文章就对了
- Linux缺少qt5core,关于qt5:无法运行Qt应用:找不到版本“ Qt_5”
- 工具 每分钟_black: 一个不妥协的Python代码格式化工具
- 2017.4.27 道路游戏 思考记录
- 新年新计划-2021年
- 一代经典框架 Layui 落幕,是否预示着一个时代的结束?
- 安装Node和NPM
- LINQ简记(3):子句
- REDHAT5.6dhcp服务器及dhcp中继代理配置
- paip.svn 导入项目到SVN库
- 安徽大学计算机专硕奖学金,2019年安徽大学新闻传播跨考华东师范大学计算机专硕,总分418,排名第一经验分享!...
- shark恒破解笔记4-API断点GetPrivateProfileStringA
- Mac电脑快速查找文件的两种方法
- (Note)同比和环比
- 不登陆路由器查询路由器IP地址和物理地址
- Android 穿山甲广告联盟接入
- Flash Switcher(二) - 极致书签管理
- 1.微信好友定时发送信息
- 基金代销-业务流程及数据交换图
- 搜索引擎友好的HTML