顾晓北 | 大侠五级 |园豆:9353 | 2016-08-04 16:17
 
 

其他回答(1)
0
 public class DateUtils extends PropertyEditorSupport {
// 各种时间格式
public static final SimpleDateFormat date_sdf = new SimpleDateFormat(
"yyyy-MM-dd");
// 各种时间格式
public static final SimpleDateFormat yyyyMMdd = new SimpleDateFormat(
"yyyyMMdd");
// 各种时间格式
public static final SimpleDateFormat date_sdf_wz = new SimpleDateFormat(
"yyyy年MM月dd日");
public static final SimpleDateFormat time_sdf = new SimpleDateFormat(
"yyyy-MM-dd HH:mm");
public static final SimpleDateFormat yyyymmddhhmmss = new SimpleDateFormat(
"yyyyMMddHHmmss");
public static final SimpleDateFormat short_time_sdf = new SimpleDateFormat(
"HH:mm");
public static final SimpleDateFormat datetimeFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
// 以毫秒表示的时间
private static final long DAY_IN_MILLIS = 24 * 3600 * 1000;
private static final long HOUR_IN_MILLIS = 3600 * 1000;
private static final long MINUTE_IN_MILLIS = 60 * 1000;
private static final long SECOND_IN_MILLIS = 1000;
// 指定模式的时间格式
private static SimpleDateFormat getSDFormat(String pattern) {
return new SimpleDateFormat(pattern);
} /**
* 当前日历,这里用中国时间表示
*
* @return 以当地时区表示的系统当前日历
*/
public static Calendar getCalendar() {
return Calendar.getInstance();
} /**
* 指定毫秒数表示的日历
*
* @param millis
* 毫秒数
* @return 指定毫秒数表示的日历
*/
public static Calendar getCalendar(long millis) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(millis));
return cal;
}
/**
* 时间转字符串
* @return
*/
public static String date2SStr()
{
Date date=getDate();
if (null == date) {
return null;
}
return yyyyMMdd.format(date);
} // ////////////////////////////////////////////////////////////////////////////
// getDate
// 各种方式获取的Date
// //////////////////////////////////////////////////////////////////////////// /**
* 当前日期
*
* @return 系统当前时间
*/
public static Date getDate() {
return new Date();
} /**
* 指定毫秒数表示的日期
*
* @param millis
* 毫秒数
* @return 指定毫秒数表示的日期
*/
public static Date getDate(long millis) {
return new Date(millis);
} /**
* 时间戳转换为字符串
*
* @param time
* @return
*/
public static String timestamptoStr(Timestamp time) {
Date date = null;
if (null != time) {
date = new Date(time.getTime());
}
return date2Str(date_sdf);
} /**
* 字符串转换时间戳
*
* @param str
* @return
*/
public static Timestamp str2Timestamp(String str) {
Date date = str2Date(str, date_sdf);
return new Timestamp(date.getTime());
}
/**
* 字符串转换成日期
* @param str
* @param sdf
* @return
*/
public static Date str2Date(String str, SimpleDateFormat sdf) {
if (null == str || "".equals(str)) {
return null;
}
Date date = null;
try {
date = sdf.parse(str);
return date;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
} /**
* 日期转换为字符串
*
* @param date
* 日期
* @param format
* 日期格式
* @return 字符串
*/
public static String date2Str(SimpleDateFormat date_sdf) {
Date date=getDate();
if (null == date) {
return null;
}
return date_sdf.format(date);
}
/**
* 格式化时间
* @param data
* @param format
* @return
*/
public static String dataformat(String data,String format)
{
SimpleDateFormat sformat = new SimpleDateFormat(format);
Date date=null;
try {
date=sformat.parse(data);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sformat.format(date);
}
/**
* 日期转换为字符串
*
* @param date
* 日期
* @param format
* 日期格式
* @return 字符串
*/
public static String date2Str(Date date, SimpleDateFormat date_sdf) {
if (null == date) {
return null;
}
return date_sdf.format(date);
}
/**
* 日期转换为字符串
*
* @param date
* 日期
* @param format
* 日期格式
* @return 字符串
*/
public static String getDate(String format) {
Date date=new Date();
if (null == date) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
} /**
* 指定毫秒数的时间戳
*
* @param millis
* 毫秒数
* @return 指定毫秒数的时间戳
*/
public static Timestamp getTimestamp(long millis) {
return new Timestamp(millis);
} /**
* 以字符形式表示的时间戳
*
* @param time
* 毫秒数
* @return 以字符形式表示的时间戳
*/
public static Timestamp getTimestamp(String time) {
return new Timestamp(Long.parseLong(time));
} /**
* 系统当前的时间戳
*
* @return 系统当前的时间戳
*/
public static Timestamp getTimestamp() {
return new Timestamp(new Date().getTime());
} /**
* 指定日期的时间戳
*
* @param date
* 指定日期
* @return 指定日期的时间戳
*/
public static Timestamp getTimestamp(Date date) {
return new Timestamp(date.getTime());
} /**
* 指定日历的时间戳
*
* @param cal
* 指定日历
* @return 指定日历的时间戳
*/
public static Timestamp getCalendarTimestamp(Calendar cal) {
return new Timestamp(cal.getTime().getTime());
} public static Timestamp gettimestamp() {
Date dt = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = df.format(dt);
java.sql.Timestamp buydate = java.sql.Timestamp.valueOf(nowTime);
return buydate;
} // ////////////////////////////////////////////////////////////////////////////
// getMillis
// 各种方式获取的Millis
// //////////////////////////////////////////////////////////////////////////// /**
* 系统时间的毫秒数
*
* @return 系统时间的毫秒数
*/
public static long getMillis() {
return new Date().getTime();
} /**
* 指定日历的毫秒数
*
* @param cal
* 指定日历
* @return 指定日历的毫秒数
*/
public static long getMillis(Calendar cal) {
return cal.getTime().getTime();
} /**
* 指定日期的毫秒数
*
* @param date
* 指定日期
* @return 指定日期的毫秒数
*/
public static long getMillis(Date date) {
return date.getTime();
} /**
* 指定时间戳的毫秒数
*
* @param ts
* 指定时间戳
* @return 指定时间戳的毫秒数
*/
public static long getMillis(Timestamp ts) {
return ts.getTime();
} // ////////////////////////////////////////////////////////////////////////////
// formatDate
// 将日期按照一定的格式转化为字符串
// //////////////////////////////////////////////////////////////////////////// /**
* 默认方式表示的系统当前日期,具体格式:年-月-日
*
* @return 默认日期按“年-月-日“格式显示
*/
public static String formatDate() {
return date_sdf.format(getCalendar().getTime());
}
/**
* 获取时间字符串
*/
public static String getDataString(SimpleDateFormat formatstr) {
return formatstr.format(getCalendar().getTime());
}
/**
* 指定日期的默认显示,具体格式:年-月-日
*
* @param cal
* 指定的日期
* @return 指定日期按“年-月-日“格式显示
*/
public static String formatDate(Calendar cal) {
return date_sdf.format(cal.getTime());
} /**
* 指定日期的默认显示,具体格式:年-月-日
*
* @param date
* 指定的日期
* @return 指定日期按“年-月-日“格式显示
*/
public static String formatDate(Date date) {
return date_sdf.format(date);
} /**
* 指定毫秒数表示日期的默认显示,具体格式:年-月-日
*
* @param millis
* 指定的毫秒数
* @return 指定毫秒数表示日期按“年-月-日“格式显示
*/
public static String formatDate(long millis) {
return date_sdf.format(new Date(millis));
} /**
* 默认日期按指定格式显示
*
* @param pattern
* 指定的格式
* @return 默认日期按指定格式显示
*/
public static String formatDate(String pattern) {
return getSDFormat(pattern).format(getCalendar().getTime());
} /**
* 指定日期按指定格式显示
*
* @param cal
* 指定的日期
* @param pattern
* 指定的格式
* @return 指定日期按指定格式显示
*/
public static String formatDate(Calendar cal, String pattern) {
return getSDFormat(pattern).format(cal.getTime());
} /**
* 指定日期按指定格式显示
*
* @param date
* 指定的日期
* @param pattern
* 指定的格式
* @return 指定日期按指定格式显示
*/
public static String formatDate(Date date, String pattern) {
return getSDFormat(pattern).format(date);
} // ////////////////////////////////////////////////////////////////////////////
// formatTime
// 将日期按照一定的格式转化为字符串
// //////////////////////////////////////////////////////////////////////////// /**
* 默认方式表示的系统当前日期,具体格式:年-月-日 时:分
*
* @return 默认日期按“年-月-日 时:分“格式显示
*/
public static String formatTime() {
return time_sdf.format(getCalendar().getTime());
}
/**
* 默认方式表示的系统当前日期,具体格式:年-月-日 时:分:秒
*
* @return 默认日期按“年-月-日 时:分:秒“格式显示
*/
public static String formatTimeyyyyMMddHHmmss(long millis) {
return datetimeFormat.format(new Date(millis));
}
/**
* 指定毫秒数表示日期的默认显示,具体格式:年-月-日 时:分
*
* @param millis
* 指定的毫秒数
* @return 指定毫秒数表示日期按“年-月-日 时:分“格式显示
*/
public static String formatTime(long millis) {
return time_sdf.format(new Date(millis));
} /**
* 指定日期的默认显示,具体格式:年-月-日 时:分
*
* @param cal
* 指定的日期
* @return 指定日期按“年-月-日 时:分“格式显示
*/
public static String formatTime(Calendar cal) {
return time_sdf.format(cal.getTime());
} /**
* 指定日期的默认显示,具体格式:年-月-日 时:分
*
* @param date
* 指定的日期
* @return 指定日期按“年-月-日 时:分“格式显示
*/
public static String formatTime(Date date) {
return time_sdf.format(date);
} // ////////////////////////////////////////////////////////////////////////////
// formatShortTime
// 将日期按照一定的格式转化为字符串
// //////////////////////////////////////////////////////////////////////////// /**
* 默认方式表示的系统当前日期,具体格式:时:分
*
* @return 默认日期按“时:分“格式显示
*/
public static String formatShortTime() {
return short_time_sdf.format(getCalendar().getTime());
} /**
* 指定毫秒数表示日期的默认显示,具体格式:时:分
*
* @param millis
* 指定的毫秒数
* @return 指定毫秒数表示日期按“时:分“格式显示
*/
public static String formatShortTime(long millis) {
return short_time_sdf.format(new Date(millis));
} /**
* 指定日期的默认显示,具体格式:时:分
*
* @param cal
* 指定的日期
* @return 指定日期按“时:分“格式显示
*/
public static String formatShortTime(Calendar cal) {
return short_time_sdf.format(cal.getTime());
} /**
* 指定日期的默认显示,具体格式:时:分
*
* @param date
* 指定的日期
* @return 指定日期按“时:分“格式显示
*/
public static String formatShortTime(Date date) {
return short_time_sdf.format(date);
} // ////////////////////////////////////////////////////////////////////////////
// parseDate
// parseCalendar
// parseTimestamp
// 将字符串按照一定的格式转化为日期或时间
// //////////////////////////////////////////////////////////////////////////// /**
* 根据指定的格式将字符串转换成Date 如输入:2003-11-19 11:20:20将按照这个转成时间
*
* @param src
* 将要转换的原始字符窜
* @param pattern
* 转换的匹配格式
* @return 如果转换成功则返回转换后的日期
* @throws ParseException
* @throws AIDateFormatException
*/
public static Date parseDate(String src, String pattern)
throws ParseException {
return getSDFormat(pattern).parse(src); } /**
* 根据指定的格式将字符串转换成Date 如输入:2003-11-19 11:20:20将按照这个转成时间
*
* @param src
* 将要转换的原始字符窜
* @param pattern
* 转换的匹配格式
* @return 如果转换成功则返回转换后的日期
* @throws ParseException
* @throws AIDateFormatException
*/
public static Calendar parseCalendar(String src, String pattern)
throws ParseException { Date date = parseDate(src, pattern);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal;
} public static String formatAddDate(String src, String pattern, int amount)
throws ParseException {
Calendar cal;
cal = parseCalendar(src, pattern);
cal.add(Calendar.DATE, amount);
return formatDate(cal);
} /**
* 根据指定的格式将字符串转换成Date 如输入:2003-11-19 11:20:20将按照这个转成时间
*
* @param src
* 将要转换的原始字符窜
* @param pattern
* 转换的匹配格式
* @return 如果转换成功则返回转换后的时间戳
* @throws ParseException
* @throws AIDateFormatException
*/
public static Timestamp parseTimestamp(String src, String pattern)
throws ParseException {
Date date = parseDate(src, pattern);
return new Timestamp(date.getTime());
} // ////////////////////////////////////////////////////////////////////////////
// dateDiff
// 计算两个日期之间的差值
// //////////////////////////////////////////////////////////////////////////// /**
* 计算两个时间之间的差值,根据标志的不同而不同
*
* @param flag
* 计算标志,表示按照年/月/日/时/分/秒等计算
* @param calSrc
* 减数
* @param calDes
* 被减数
* @return 两个日期之间的差值
*/
public static int dateDiff(char flag, Calendar calSrc, Calendar calDes) { long millisDiff = getMillis(calSrc) - getMillis(calDes); if (flag == 'y') {
return (calSrc.get(calSrc.YEAR) - calDes.get(calDes.YEAR));
} if (flag == 'd') {
return (int) (millisDiff / DAY_IN_MILLIS);
} if (flag == 'h') {
return (int) (millisDiff / HOUR_IN_MILLIS);
} if (flag == 'm') {
return (int) (millisDiff / MINUTE_IN_MILLIS);
} if (flag == 's') {
return (int) (millisDiff / SECOND_IN_MILLIS);
} return 0;
}
/**
* String类型 转换为Date,
* 如果参数长度为10 转换格式”yyyy-MM-dd“
*如果参数长度为19 转换格式”yyyy-MM-dd HH:mm:ss“
* * @param text
* String类型的时间值
*/
public void setAsText(String text) throws IllegalArgumentException {
if (StringUtils.hasText(text)) {
try {
if (text.indexOf(":") == -1 && text.length() == 10) {
setValue(this.date_sdf.parse(text));
} else if (text.indexOf(":") > 0 && text.length() == 19) {
setValue(this.datetimeFormat.parse(text));
} else {
throw new IllegalArgumentException(
"Could not parse date, date format is error ");
}
} catch (ParseException ex) {
IllegalArgumentException iae = new IllegalArgumentException(
"Could not parse date: " + ex.getMessage());
iae.initCause(ex);
throw iae;
}
} else {
setValue(null);
}
}
public static int getYear(){
GregorianCalendar calendar=new GregorianCalendar();
calendar.setTime(getDate());
return calendar.get(Calendar.YEAR);
} public static void main(String[] args) throws ParseException {
System.out.println(DateUtils.formatTimeyyyyMMddHHmmss(1462666089 * 1000L));
System.out.println(DateUtils.getMillis(DateUtils.parseDate("2016-07-08 08:08:09", "yyyy-mm-dd hh:mm:ss")));
}
}

java日期格式的常用操作的更多相关文章

  1. java日期格式大全 format SimpleDateFormat(转)

    java日期格式大全 format SimpleDateFormat   /**    * 字符串转换为java.util.Date<br>    * 支持格式为 yyyy.MM.dd G ...

  2. Java 日期格式工具类

    Java 日期格式工具类 方法如下 DateUtil 类 import java.text.DateFormat; import java.text.ParseException; import ja ...

  3. java 日期格式处理

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();Sy ...

  4. java日期格式汇总

    日期格式汇总 转载 2017年05月23日 17:22:25 DateFormat     java.text.DateFormat public abstract class DateFormat ...

  5. Java日期格式转换不用发愁

    前言 Java 中日期.时间相关的类相当的多,并且分不同的版本提供了不同的实现,包括 Date . Calendar . LocalDateTime . ZoneDateTime . OffsetDa ...

  6. JAVA 日期格式工具类DateUtil.java

    DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...

  7. Java——日期格式

     /* * 日期对象和毫秒值之间的转换. * * 毫秒值--->日期对象: *  1.通过Date对象的构造方法new Date(timeMillis) *  2.还可以通过setTime设 ...

  8. linux下关于gz和bz2压缩格式的常用操作技巧

    .gz和.bz2都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件..bz2和.gz的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间. 也就是说同一个文件,压缩 ...

  9. java日期格式转换工具类

    原文地址:http://blog.csdn.net/zhiweianran/article/details/7991531 package com.ace.backoffice.utils; impo ...

随机推荐

  1. redis bind的坑

    启动redis时,发现外网访问不了 检查以下方面 1. ping redis 的ip 2. 检查防火墙端口是否开放3. bind bind bind指的是绑定哪个ip可以访问 bind 要填写你自己r ...

  2. Cookie在前端读不到 多半是因为Cookie在服务器端的设置是HttpOnly 意味着只能在后台操作Cookie

    比如Shiro框架的 RememberMe Cookie 是不允许Js进行读写的 只能在服务器端通过同一个域的请求获得 import com.constantine.forum.exception.F ...

  3. Docker中使用Tomcat并部署war工程

    准备 首先从远程仓库拉取Tomcat镜像到本地. docker pull tomcat 使用images命令查看是否拉取成功. 创建镜像文件并将war包上传到同级目录下.(本文是在/usr/local ...

  4. SpringCloud-day07-Feign

    7.Feign 7.1.Feign简介 声明式服务调用Feign简单介绍下: Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单.我们只需要使用F ...

  5. Loadrunner进行HTTPS协议性能测试

    1.最简单办法就是在脚本前面加上:web_set_sockets_option("SSL_VERSION","TLS"),一般能解决HTTPS协议的请求问题,无 ...

  6. ucos中信号量 事件标志 消息队列都怎么用

    信号量 事件标志和消息队列分别应用于什么场景(反正我学的时候有点闹不清,现在总结一下): 信号量和事件标志用于任务同步.详细来说,这个功能可以替代以前裸机中你打一个标记的功能,比如使用了一个定时器,5 ...

  7. 了解一下SQL映射文件

    1:SQL映射文件 MyBatis真正强大之处就在于SQL映射语句,相对于强大的功能,SQL映射文件的配置非常简单,与JDBC相比减少了50%的代码.下面是关于SQL映射文件的几个顶级元素配置 map ...

  8. js事件不能触发

    在span标签添加了个onclick事件,捣腾了半天触发不了,设置z-index:1000也没用. 最后发现是元素没设置宽度width导致的,压根儿没往这方面想. 因为添加onclick的span标签 ...

  9. Git命令面试集

    获取与创建项目命令 git init              在目录中创建新的Git仓库(需要切换到目录下) git clone          拷贝一个Git仓库到本地 基本快照 git add ...

  10. Error merging: refusing to merge unrelated histories

    解决方案: git pull git pull origin master git pull origin master --allow-unrelated-histories idea提交git提交 ...