【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 ( ) "生成随机数的方法来模拟同时摇三个色子获得的点数:点数的多少不同,也会导致不同的输出结果:可适当对程序增添一些更有趣的功能: ...
随机推荐
- BestCoder Round #25 1002 Harry And Magic Box [dp]
传送门 Harry And Magic Box Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/ ...
- hdu 4430 Yukari's Birthday 枚举+二分
注意会超long long 开i次根号方法,te=(ll)pow(n,1.0/i); Yukari's Birthday Time Limit: 12000/6000 MS (Java/Others) ...
- Laravel 之Auth用户认证
(1)生成Auth所需文件 打开phpstorm的命令行: php artisan make:auth 生成成功后,打开web.php, 发现多了如下代码: Auth::routes(); Route ...
- Jenkins持续部署-Windows环境持续部署探究1
目录 Jenkins持续部署-Windows环境持续部署探究1 目录 前言 目的 方案流程 技术实现 PowerShell FTP上传插件 环境变量插件 脚本执行 远程调用 升级服务 启动服务 总结 ...
- 洛谷—— P3395 路障
https://www.luogu.org/problem/show?pid=3395 题目背景 此题约为NOIP提高组Day1T1难度. 题目描述 B君站在一个n*n的棋盘上.最开始,B君站在(1, ...
- mysql 5.7版本目录无data文件夹的解决办法
安装mysql 5.7+版本时,若发现因根目录下,缺少data文件夹的情况, ***请不要去拷贝其他版本的data文件夹!*** 因为此操作会出现很多潜在问题:比如我遇到的执行show variabl ...
- CS 和 BS 的区别和优缺点(转)
转自:http://www.cnblogs.com/scnuyz/p/5808808.html bs是浏览器(browser)和服务器(server) cs是静态客户端程序(client)和服务器(s ...
- android-problem——remount of /system failed: Read-only file system
adb remount后仍旧不能对system进行读写.需要进行adb disable-verity 在Android6.0 (Android M)userdebug版本上(eng版本不存在该问题), ...
- C#.net word excel powerpoint (ppt) 转换成 pdf 文件
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- getElementByID,getElementsByName,getElementsByTagName
<input type="checkbox" name="hobby" id="hobby1"> 音乐 <input ty ...