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. C#如何使用VS2010与SQL2008建立链接及初步调用(转)

    关于VS2010与SQL2008建立链接及初步调用问题,网上参考的资料很多,我写这个博客,并非是做重复工作,也不是做搬运工.本文将以一种初学者的角度,去完成从数据库建立,到VS2010与SQL中的数据 ...

  2. JS enter事件及数据不完整阻止下一步操作

    阻止下一步操作: 1.return false;  2.e.preventDefault(); 但IE8不支持 //键盘事件|enter $(function () { document.onkeyd ...

  3. 这些 .Net and Core 相关的开源项目,你都知道吗?(持续更新中...)

    最近更新时间2017-12-28 序列化 Json.NET http://json.codeplex.com/Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Ne ...

  4. git: fatal: Could not read from remote repository

    This is probably an Intellij problem. Your key are managed natively by ssh, and Intellij has it's ow ...

  5. java web程序 String的valueOf方法总集

    在代码中用到类型转换的时候,是一个字符,然后当用户在网页中输入的是字符串, 字符转换成字符串的方法是: String.valueOf(char c);就好了 这样在写验证码的时候,网页端的就是字符串形 ...

  6. 过度使用DBLINK做系统集成会带来的问题

    过度使用DBLINK做系统集成会带来很多问题,问题主要由以下几点: 1. 大量消耗数据库资源: 本地系统每通过DBLINK链接远端系统一次,都会生成一个本地session,如本地session不退出或 ...

  7. [UE4]角色、动画蓝图、动画蒙太奇、动画之间的调用关系

    一.在“角色”中设置要使用的“动画蓝图” 二.在“动画蓝图”中使用“动画”和“混合动画” 三.在“混合动画”中,也可以使用“动画” 四.在角色中使用“动画蒙太奇”

  8. [UE4]蒙太奇动画运行时不播放,预览是好的

    动画实例里面没有添加“DefaultSlot”就会出现这样的问题

  9. 用 tornado 做网站 (7)

    转自:http://wiki.jikexueyuan.com/project/start-learning-python/309.html 用 tornado 做网站 (7) 到上一节结束,其实读者已 ...

  10. nginx配置详解(转)

    Nginx 配置文件详解 user nginx ; #用户 worker_processes 8; #工作进程,根据硬件调整,大于等于cpu核数 error_log logs/nginx_error. ...