import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

public class DateFormat {
//时间格式
private static String DATA_FORMAT_YMDHMS = "yyyy-MM-dd HH:mm:ss";
// private static String DATA_FORMAT_YMD = "yyyy-MM-dd";
private static String DATA_FORMAT_YMDHM = "yyyy-MM-dd HH:mm";

public static String convertStr(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat(DATA_FORMAT_YMDHMS);
String dstr = sdf.format(date);
return dstr;
}

/**
* @function strConvertDate
* @description 字符串("yyyy-MM-dd HH:mm:ss")转日期
* @throws ParseException
* @author maohuidong
* @date 2017-05-02
*/
public static Date strConvertDate(String str) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat(DATA_FORMAT_YMDHMS);
Date date = sdf.parse(str);
return date;
}
public static String convertStr(Date date,String formatStr) {
SimpleDateFormat sdf = new SimpleDateFormat(formatStr);
String dstr = sdf.format(date);
return dstr;
}
//今日零点
public static String getZeroDay() {
long current = System.currentTimeMillis();//当前时间毫秒数
long zero = current / (1000*3600*24) * (1000*3600*24) - TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数
String dstr = DateFormat.convertStr(new Date(zero));
return dstr;
}

//今日23点59分59秒
public static String getTwelveDay() {
long current = System.currentTimeMillis();//当前时间毫秒数
long twelve = current / (1000*3600*24) * (1000*3600*24) - TimeZone.getDefault().getRawOffset() + 24*60*60*1000 - 1;//今天23点59分59秒的毫秒数
String dstr = DateFormat.convertStr(new Date(twelve));
return dstr;
}

/**
* @function compareDate
* @description 比较两个时间的大小
* @param dateStr1 时间1
* @param datestr2 时间2
* @return boolean 时间1大于时间2,返回true
* @throws ParseException
* @author jiangqiwen
* @date 2017-02-23
*/
public static boolean compareDate(String dateStr1, String datestr2) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(DATA_FORMAT_YMDHMS);
Date dt1 = sdf.parse(dateStr1);
Date dt2 = sdf.parse(datestr2);
return dt1.after(dt2);
}

/**
* @function getMinutesDiff
* @description 比较两个时间的分钟差(参考网址 http://blog.csdn.net/jeffleo/article/details/52175998)
* @param fromDate 起始时间
* @param toDate 结束时间
* @return int 分钟差
* @throws ParseException
* @author jiangqiwen
* @date 2017-03-01
*/
public static int getMinutesDiff(String fromDate, String toDate) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(DATA_FORMAT_YMDHM);
long from = sdf.parse(fromDate).getTime();
long to = sdf.parse(toDate).getTime();
int minutes = (int) ((to - from)/(1000 * 60));
return minutes;
}

/**
* @function getMinOrSecDiffWithUnits
* @description 比较两个时间差
* @param fromDate 起始时间
* @param toDate 结束时间
* @return String 有单位的时间差
* @throws ParseException
* @author jiangqiwen
* @date 2017-04-24
*/
public static String getMinOrSecDiffWithUnits(String fromDate, String toDate) throws ParseException {
String units;
SimpleDateFormat sdf = new SimpleDateFormat(DATA_FORMAT_YMDHMS);
long from = sdf.parse(fromDate).getTime();
long to = sdf.parse(toDate).getTime();
double timeDiff = (double) (to - from) / (1000 * 60);
if (timeDiff < 1) {
units = "秒";
return ((int)(timeDiff * 60)) + units;
} else {
units = "分钟";
return ((int)(timeDiff)) + units;
}
}
}

DateFormat工具类的更多相关文章

  1. 第三章 线程安全的DateFormat工具类

    1.使用threadLocal包装DateFormat(太复杂,不推荐) 2.使用org.apache.commons.lang3.time.DateFormatUtils下的方法(推荐) DateF ...

  2. Js之DateFormat工具类

    /** * 对Date的扩展,将Date转化为指定格式的String * 年(y).季度(q).月(M).日(d).小时(h).分(m).秒(s)可以用1-2个占位符 * 示例: * FormatDa ...

  3. 第一章 Java工具类目录

    在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算 crc32将任意 ...

  4. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  5. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

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

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

  7. java工具类

    1.HttpUtilsHttp网络工具类,主要包括httpGet.httpPost以及http参数相关方法,以httpGet为例:static HttpResponse httpGet(HttpReq ...

  8. MongoDBDao 工具类(包含分页取数据)

    mongdb工具类 package e16wifi.statistic.com.mongodb; import java.util.ArrayList; import java.util.List; ...

  9. Android开发常用工具类

    来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...

随机推荐

  1. 二叉搜索树的第k大的节点

    题目 给定一颗二叉搜索树,请找出其中的第k大的结点. 思路 如果中序遍历一棵二叉搜索树,遍历序列的数值则是递增排序,因此只需中序遍历一个二叉搜索树即可. #include <iostream&g ...

  2. Windows 上 Nginx 路径的陷阱

    第一次用 Nginx 配置 Vhosts. 使用了 Windows 路径 C:\ww\fa\public,没有问题. 我以为 Nginx 的高级特性. 后来要建了一个 Vhosts,发现死活进不了. ...

  3. FastAdmin 自己做的插件 SQL 有一个表没有生成成功

    群里有群友问: 给插件建的install.sql 里有三个表,为啥会出现安装成功后没有错误提示,只生成了两个表的情况..这可能会是什么...原因 第一感觉和 FastAdmin 没有关系. 没生成表, ...

  4. commonJS规范基本结构

    commonJS规范:使用 module.exports 和 require ,基本结构如下: // foo.js 输出模块 module.exports = function(x) { consol ...

  5. 联想服务器配置 RAID

    联想服务器配置 RAID BIOS 中配置 RAID 阵列卡 x3650 和 x3850 一.进入 RAID 1.在开机自检时按 F1 进入 UEFI 配置界面 2.选择 System Setting ...

  6. 解决“Replace wireless configuration ”默认被选上的问题

    方法一 1.打开 /home/tingpan/openwrt/barrier_breaker/feeds/luci/modules/admin-full/luasrc/model/cbi/admin_ ...

  7. 专访TK教主于旸:原来那些搞安全的说的都是真的(图灵访谈)

    引用:http://www.ituring.com.cn/article/196609 于旸,网名“tombkeeper”,在国内黑客界被尊称为“TK教主”,现任腾讯玄武实验室总监.于旸从事信息安全研 ...

  8. Spring中IOC与DI的的区别

    依赖注入的前提: 有IOC的环境,也就是将必须对象的创建权交给了Spring. DI 介绍 Dependency Injection 依赖注入.需要有IOC 的环境,Spring 创建这个类的过程中, ...

  9. C# 5.0中引入了async 和 await

    C# 5.0中引入了async 和 await.这两个关键字可以让你更方便的写出异步代码. 看个例子: public class MyClass { public MyClass() { Displa ...

  10. Hadoop专业解决方案-第13章 Hadoop的发展趋势

    一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第13章 Hadoop的发展趋势小组已经翻译完成,在此对 ...