java日期格式的常用操作
 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日期格式的常用操作的更多相关文章
- java日期格式大全 format SimpleDateFormat(转)
		java日期格式大全 format SimpleDateFormat /** * 字符串转换为java.util.Date<br> * 支持格式为 yyyy.MM.dd G ... 
- Java 日期格式工具类
		Java 日期格式工具类 方法如下 DateUtil 类 import java.text.DateFormat; import java.text.ParseException; import ja ... 
- java 日期格式处理
		Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();Sy ... 
- java日期格式汇总
		日期格式汇总 转载 2017年05月23日 17:22:25 DateFormat java.text.DateFormat public abstract class DateFormat ... 
- Java日期格式转换不用发愁
		前言 Java 中日期.时间相关的类相当的多,并且分不同的版本提供了不同的实现,包括 Date . Calendar . LocalDateTime . ZoneDateTime . OffsetDa ... 
- JAVA 日期格式工具类DateUtil.java
		DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ... 
- Java——日期格式
		 /* * 日期对象和毫秒值之间的转换. * * 毫秒值--->日期对象: * 1.通过Date对象的构造方法new Date(timeMillis) * 2.还可以通过setTime设 ... 
- linux下关于gz和bz2压缩格式的常用操作技巧
		.gz和.bz2都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件..bz2和.gz的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间. 也就是说同一个文件,压缩 ... 
- java日期格式转换工具类
		原文地址:http://blog.csdn.net/zhiweianran/article/details/7991531 package com.ace.backoffice.utils; impo ... 
随机推荐
- python--面向过程编程与面向对象编程
			面向过程 面向过程: 核心就是过程二字,过程指的是解决问题的步骤,设计一条流水线,机械式的思维方式. 优点: 复杂的问题流程化,进而简单化. 缺点: 可扩展性差. 面向对象 面向对象: 核心就是对象二 ... 
- SpringCloud系列六:Feign接口转换调用服务(Feign 基本使用、Feign 相关配置)
			1.概念:Feign 接口服务 2.具体内容 现在为止所进行的所有的 Rest 服务调用实际上都会出现一个非常尴尬的局面,例如:以如下代码为例: Dept dept = this.restTempla ... 
- Python学习笔记---数 数据类型 运算
			python的四种数类型: 整数 int 浮点型 float 布尔 boolen 复数 complex >>> type(5)<class 'int'>>>& ... 
- Synchronized总结
			一.synchronized加锁原理 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还可以保证共享变量的内存可见性. Java中每一个对象都可以作 ... 
- 图解BERT(NLP中的迁移学习)
			目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ... 
- sql语句(已在Oracle中测试,之后有添加内容放在评论中)
			1增 1.1[创建一张表] create table 表名(列名 类型); 例: ),性别 ),出生日期 date); ),sex ),出生日期 date); 1.2[插入单行]insert [int ... 
- Nagios监控配置文件及监控流程
			1.安装路径/usr/local/nagios/下存在etc.bin.sbin.share.var 这五个目录.Nagios 各个目录用途说明如下: bin Nagios 可执行程序所在目录 etc ... 
- React中this.props的主要属性
			this.props主要包含:history属性.location属性.match属性 ①history属性又包含 ②location属性又包含 ③match属性又包含 
- Python开发【第十一篇】:MySQL
			数据库介绍 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的API用于创建.访问.管理.搜索和复制所保存的数据.每个数据库都有一个或多个不同的API ... 
- LinkedIn TAG
			List1 [leetcode]243. Shortest Word Distance最短单词距离 Two Pointers [leetcode]244. Shortest ... 
