【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 ( ) "生成随机数的方法来模拟同时摇三个色子获得的点数:点数的多少不同,也会导致不同的输出结果:可适当对程序增添一些更有趣的功能: ...
随机推荐
- 如何用Eclipse将普通的JavaWeb项目转为Maven项目
最新自己的第一个项目差不多稳定运行之后 想着将项目转为Maven项目.于是参考网上成功的将自己的普通的项目转为了maven项目,现在记录一下: 0.普通的java项目的结构如下: 1.接下来开始进行正 ...
- AC日记——[网络流24题]方格取数问题 cogs 734
734. [网络流24题] 方格取数问题 ★★☆ 输入文件:grid.in 输出文件:grid.out 简单对比时间限制:1 s 内存限制:128 MB «问题描述: 在一个有m*n ...
- AC日记——A+B Problem(再升级) 洛谷 P1832
题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛滥趋势 ·以上纯属个人吐槽 ·给定一个正整数n ...
- T1245 最小的N个和 codevs
http://codevs.cn/problem/1245/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 有两个长度 ...
- TYVJ P1577 泥泞的道路
题目链接:http://www.tyvj.cn/p/1577# P1577 泥泞的道路 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 公园中有n个景点,编号 ...
- Windows下使用Nexus搭建Maven私服(使用)
注意: 1.从3.0版本的Nexus开始,已经不再缓存https://repo1.maven.org/maven2/的包,所以当安装好之后,在界面上不会有任何的包可以搜索到,但是功能是一切正常的,只有 ...
- 三角网格上的寻路算法Part.1—Dijkstra算法 等
http://www.cnblogs.com/chnhideyoshi/p/AStar.html
- winform客户端程序实时读写app.config文件
新接到需求,wcf客户端程序运行时,能实时修改程序的打印机名称: 使用XmlHelper读写 winform.exe.config文件修改后始终,不能实时读取出来,查询博客园,原来已有大神解释了: 获 ...
- AtoS查看iOS Crash log中的16进制代码日志
注意:crash_log一定要和打包时的archive对应上: 方法1)在Orgnizer里找到某一个archive,即:/Users/handywang/Library/Developer/Xcod ...
- 【postgresql】postgresql中的between and以及日期的使用
在postgresql中的between and操作符作用类似于,是包含边界的 a BETWEEN x AND y 等效于 a >= x AND a <= y 在postgresql中比较 ...