DateFormat工具类
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工具类的更多相关文章
- 第三章 线程安全的DateFormat工具类
1.使用threadLocal包装DateFormat(太复杂,不推荐) 2.使用org.apache.commons.lang3.time.DateFormatUtils下的方法(推荐) DateF ...
- Js之DateFormat工具类
/** * 对Date的扩展,将Date转化为指定格式的String * 年(y).季度(q).月(M).日(d).小时(h).分(m).秒(s)可以用1-2个占位符 * 示例: * FormatDa ...
- 第一章 Java工具类目录
在这一系列博客中,主要是记录在实际开发中会常用的一些Java工具类,方便后续开发中使用. 以下的目录会随着后边具体工具类的添加而改变. 浮点数精确计算 第二章 Java浮点数精确计算 crc32将任意 ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- JAVA 日期格式工具类DateUtil.java
DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...
- java工具类
1.HttpUtilsHttp网络工具类,主要包括httpGet.httpPost以及http参数相关方法,以httpGet为例:static HttpResponse httpGet(HttpReq ...
- MongoDBDao 工具类(包含分页取数据)
mongdb工具类 package e16wifi.statistic.com.mongodb; import java.util.ArrayList; import java.util.List; ...
- Android开发常用工具类
来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...
随机推荐
- JZ2440 裸机驱动 第14章 ADC和触摸屏接口
本章目标: 了解S3C2410/S3C2440和触摸屏的结构: 了解电阻触摸屏的工作原理和等效电路图: 了解S3C2410/S3C2440触摸屏控制器的多种工作模式: ...
- Linux操作系统中/sbin/init程序的执行过程
当init启动后,它通过执行各种启动事务来继续引导进程(检查并监视文件系统,启动后台程序daemons,等等),直至完成用户所有操作环境的设置工作.这里主要涉及4个程序:init.getty(aget ...
- 1.环境搭建-mysql+tomcat+myeclipse安装并配置
一.安装mysql数据库并配置 下载地址:https://pan.baidu.com/s/1OJ3ggda7Cthl4GCxWKbTng 密码:sd6b 1.打开安装程序
- 邮件服务器fixpost服务(1)
发邮件所用的协议,SMTP协议,端口TCP25 收邮件所用的协议,pop3.imap协议 邮件客户端(MUA):foxmail.闪电邮.邮件大师.outlook 搭建邮件服务器所用到的软件(MTA邮件 ...
- javascript节点操作insertBefor()
如果想要把节点放在某个特定的位置,而不是放在末尾,就可以使用insertBefore(a,b) 参数a:要插入的节点 参数b:作为参照的节点. var oDiv = document.getEleme ...
- windows hbase installation
In the previous post, I have introduced how to install hadoop on windows based system. Now, I will ...
- Flex工程师面试
这几天有一家公司需要招聘Flex开发的工程师,要求开发电力行业的WebGIS的电力方面的程序,当时也是被推荐过去的,随后的几天,自己也准备的一下,因为之前接触Flex的主要是开发一些医疗的项目,利用F ...
- ETL编程模型(场景)
使用场景: ETL是一个处理过程. 多个数据源之间进行数据同步 1:n:一对多同步数据 n:1:多个数据源到一个目的段 m;n:多个数据源多个目的段 ========================= ...
- 慕课网价值149《前端JavaScript面试技巧》笔记大公开——适应群体(学生或应届毕业生)
1.基础知识(一) http://note.youdao.com/noteshare?id=b81f56399b01da0ab5e870ea612ab94b&sub=B8ECBC1B57154 ...
- cs 更新
CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...