【Java】DateUtil(2)
import
java.sql.Timestamp;
import
java.text.ParseException;
import
java.text.SimpleDateFormat;
import
java.util.Date;
import
org.apache.commons.lang3.time.DateFormatUtils;
/**
* 日期工具类, 继承org.apache.commons.lang.time.DateUtils类
* @author
* @version 2015-10-12
*/
public
class
DateUtils
extends
org.apache.commons.lang3.time.DateUtils {
private
static
String[] parsePatterns = {
"yyyy-MM-dd"
,
"yyyy-MM-dd HH:mm:ss"
,
"yyyy-MM-dd HH:mm"
,
"yyyy/MM/dd"
,
"yyyy/MM/dd HH:mm:ss"
,
"yyyy/MM/dd HH:mm"
};
/**
* 得到当前日期字符串 格式(yyyy-MM-dd)
*/
public
static
String getDate() {
return
getDate(
"yyyy-MM-dd"
);
}
/**
* 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"
*/
public
static
String getDate(String pattern) {
return
DateFormatUtils.format(
new
Date(), pattern);
}
/**
* 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"
*/
public
static
String formatDate(Date date, Object... pattern) {
String formatDate =
null
;
if
(pattern !=
null
&& pattern.length >
0
) {
formatDate = DateFormatUtils.format(date, pattern[
0
].toString());
}
else
{
formatDate = DateFormatUtils.format(date,
"yyyy-MM-dd"
);
}
return
formatDate;
}
/**
* 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss)
*/
public
static
String formatDateTime(Date date) {
return
formatDate(date,
"yyyy-MM-dd HH:mm:ss"
);
}
/**
* 得到当前时间字符串 格式(HH:mm:ss)
*/
public
static
String getTime() {
return
formatDate(
new
Date(),
"HH:mm:ss"
);
}
/**
* 得到当前日期和时间字符串 格式(yyyy-MM-dd HH:mm:ss)
*/
public
static
String getDateTime() {
return
formatDate(
new
Date(),
"yyyy-MM-dd HH:mm:ss"
);
}
/**
* 得到当前年份字符串 格式(yyyy)
*/
public
static
String getYear() {
return
formatDate(
new
Date(),
"yyyy"
);
}
/**
* 得到当前月份字符串 格式(MM)
*/
public
static
String getMonth() {
return
formatDate(
new
Date(),
"MM"
);
}
/**
* 得到当天字符串 格式(dd)
*/
public
static
String getDay() {
return
formatDate(
new
Date(),
"dd"
);
}
/**
* 得到当前星期字符串 格式(E)星期几
*/
public
static
String getWeek() {
return
formatDate(
new
Date(),
"E"
);
}
/**
* 日期型字符串转化为日期 格式
* { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",
* "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }
*/
public
static
Date parseDate(Object str) {
if
(str ==
null
){
return
null
;
}
try
{
return
parseDate(str.toString(), parsePatterns);
}
catch
(ParseException e) {
return
null
;
}
}
/**
* 获取过去的天数
* @param date
* @return
*/
public
static
long
pastDays(Date date) {
long
t =
new
Date().getTime()-date.getTime();
return
t/(
24
*
60
*
60
*
1000
);
}
public
static
Date getDateStart(Date date) {
if
(date==
null
) {
return
null
;
}
SimpleDateFormat sdf =
new
SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss"
);
try
{
date= sdf.parse(formatDate(date,
"yyyy-MM-dd"
)+
" 00:00:00"
);
}
catch
(ParseException e) {
e.printStackTrace();
}
return
date;
}
public
static
Date getDateEnd(Date date) {
if
(date==
null
) {
return
null
;
}
SimpleDateFormat sdf =
new
SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss"
);
try
{
date= sdf.parse(formatDate(date,
"yyyy-MM-dd"
) +
" 23:59:59"
);
}
catch
(ParseException e) {
e.printStackTrace();
}
return
date;
}
/**
* 判断字符串是否是日期
* @param timeString
* @return
*/
public
static
boolean
isDate(String timeString){
SimpleDateFormat format=
new
SimpleDateFormat(
"yyyy-MM-dd"
);
format.setLenient(
false
);
try
{
format.parse(timeString);
}
catch
(Exception e){
return
false
;
}
return
true
;
}
/**
* 格式化时间
* @param timestamp
* @return
*/
public
static
String dateFormat(Date timestamp){
SimpleDateFormat format=
new
SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss"
);
return
format.format(timestamp);
}
/**
* 获取系统时间Timestamp
* @return
*/
public
static
Timestamp getSysTimestamp(){
return
new
Timestamp(
new
Date().getTime());
}
/**
* 获取系统时间Date
* @return
*/
public
static
Date getSysDate(){
return
new
Date();
}
/**
* 生成时间随机数
* @return
*/
public
static
String getDateRandom(){
String s=
new
SimpleDateFormat(
"yyyyMMddHHmmssSSS"
).format(
new
Date());
return
s;
}
/**
* @param args
* @throws ParseException
*/
public
static
void
main(String[] args)
throws
ParseException {
// System.out.println(formatDate(parseDate("2010/3/6")));
// System.out.println(getDate("yyyy年MM月dd日 E"));
// long time = new Date().getTime()-parseDate("2012-11-19").getTime();
// System.out.println(time/(24*60*60*1000));
}
}
【Java】DateUtil(2)的更多相关文章
- 【Java】DateUtil(1)
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- 【Java】JVM(六)虚拟机字节码执行引擎
一.概述 执行引擎是虚拟机中最核心的部分之一, 虚拟机自己实现引擎,自己定义指令集和执行引擎的结构体系. 二.栈帧 栈帧包含(1)局部变量表.(2)操作数栈.(3)动态链接.(4)方法返回地址.(5) ...
- 【Java】JVM(三)、Java垃圾收集器
一.Minor GC.Major GC 和 Full GC Minor GC:清理新生代空间,当Eden空间不能分配时候引发Minor GC Major GC:清理老年代空间 Full GC:清理Ja ...
- 【Java】JVM(一)、Java内存区域
一.程序计数器(Program Counter Register) 当前执行字节码的行号指示器,可以通过修改该计数器的值来实现字节码指令(分支,循环,跳转等), 每个线程都都有一个程序计数器, 属于线 ...
- 【Java】JavaIO(二)、节点流
一.InputStream & outputStream Java字节流主要是以InputStream (输入流),outputStream(输出流)为基类,本身是抽象类不能创建实例,但是是字 ...
- 【java】简介(一)
应用:web后端开发.android-app开发.大数据应用开发 学习:java会过时,但程序设计的思想不会过时 特点:1.面向对象,跨平台,语法比c++简单 2.以字节码的形式运行在虚拟机上 3.自 ...
- 【Java】单例模式(Singleton)
重新搞一波 复习巩固 简单记录 慕课网 Java工程师 文章目录 单例概述 设计模式 单例模式(Singleton) 参考资料 单例概述 Singleton Pattern 单例模式是Java中最简单 ...
- 【JAVA】笔记(5)--- final;抽象方法;抽象类;接口;解析继承,关联,与实现;
final: 1.理解:凡是final修饰的东西都具有了不变的特性: 2.修饰对象: 1)final+类--->类无法被继承: 2)final+方法--->方法无法被覆盖: 3)final ...
- 【JAVA】编程(4)---摇色子
作业要求: 利用" Math.random ( ) "生成随机数的方法来模拟同时摇三个色子获得的点数:点数的多少不同,也会导致不同的输出结果:可适当对程序增添一些更有趣的功能: ...
随机推荐
- ****如何优雅的用Axure装逼?高保真原型心得分享
本文核心内容点:- 啥是高保真原型?(附简单说明原型)- Axure可以画出什么水准的高保真?(给示例,开启装逼模式)- 高保真原型图技巧:- 啥时候上高保真?适用场景 and 不适用场景 啥是高保真 ...
- SPOJ MIXTURES 区间dp
Harry Potter has n mixtures in front of him, arranged in a row. Each mixture has one of 100 differen ...
- 前端MVC Vue2学习总结(九)——Vuex状态管理插件
一.概要 1.1.Vuex定义与注意事项 Vuex是为vue.js框架更好的管理状态而设计一个插件.Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的 ...
- Application具体解释(一)
1:Application是什么? Application和Activity,Service一样,是android框架的一个系统组件.当android程序启动时系统会创建一个 applicati ...
- 133. Clone Graph (3 solutions)——无向无环图复制
Clone Graph Clone an undirected graph. Each node in the graph contains a label and a list of its nei ...
- window.onresize 事件笔记
1.浏览器尺寸变化响应事件 : window.onresize = function(){....} 这里须要注意的是,onresize响应事件处理中.获取到的页面尺寸參数是变更后的參数. // ...
- 【转载】VS工具使用——代码图
代码图: 心想,反正也调不出来,就试试这个东西吧,一打开,就认识到自己发现了一个新大陆:这个代码图可以让我们对一个工程文件有大体的了解,即函数的调用关系等.它是一个VS2013自带工具生成函数 ...
- HDU 1423 Greatest Common Increasing Subsequence(LICS入门,只要求出最长数)
Greatest Common Increasing Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...
- Vue 基础
1. data 数据 methods 方法 watch 监听变化 2. 模版指令(类似 angular) {{}} v-text 渲染数据 v-html html 结构 3. v-if v-show ...
- 20160222.CCPP体系具体解释(0032天)
程序片段(01):宽字符.c+字符串与内存四区.c 内容概要:宽窄字符 ///宽字符.c #include <stdio.h> #include <stdlib.h> #inc ...