java获取两个时间的相隔时间,包括年、月、日、时、分、秒
public static final int YEAR_RETURN = 0;
public static final int MONTH_RETURN = 1;
public static final int DAY_RETURN = 2;
public static final int HOUR_RETURN= 3;
public static final int MINUTE_RETURN = 4;
public static final int SECOND_RETURN = 5;
public static final String YYYY = "yyyy";
public static final String YYYYMM = "yyyy-MM";
public static final String YYYYMMDD = "yyyy-MM-dd";
public static final String YYYYMMDDHH= "yyyy-MM-dd HH";
public static final String YYYYMMDDHHMM = "yyyy-MM-dd HH:mm";
public static final String YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss";
public static long getBetween(String beginTime, String endTime, String formatPattern, int returnPattern) throws ParseException{
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatPattern);
Date beginDate = simpleDateFormat.parse(beginTime);
Date endDate = simpleDateFormat.parse(endTime);
Calendar beginCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
beginCalendar.setTime(beginDate);
endCalendar.setTime(endDate);
switch (returnPattern) {
case YEAR_RETURN:
return GgczUtil.getByField(beginCalendar, endCalendar, Calendar.YEAR);
case MONTH_RETURN:
return GgczUtil.getByField(beginCalendar, endCalendar, Calendar.YEAR)*12 + GgczUtil.getByField(beginCalendar, endCalendar, Calendar.MONTH);
case DAY_RETURN:
return GgczUtil.getTime(beginDate, endDate)/(24*60*60*1000);
case HOUR_RETURN:
return GgczUtil.getTime(beginDate, endDate)/(60*60*1000);
case MINUTE_RETURN:
return GgczUtil.getTime(beginDate, endDate)/(60*1000);
case SECOND_RETURN:
return GgczUtil.getTime(beginDate, endDate)/1000;
default:
return 0;
}
}
private static long getByField(Calendar beginCalendar, Calendar endCalendar, int calendarField){
return endCalendar.get(calendarField) - beginCalendar.get(calendarField);
}
private static long getTime(Date beginDate, Date endDate){
return endDate.getTime() - beginDate.getTime();
}
public static void main(String[] args) {
Date start = new Date("2008/05/00");
Date end = new Date("2009/06/00");
System.out.println("###start:==" + start);
System.out.println("###end:==" + end);
getMonth(start, end);
System.out.println("###getMonth():=" + getMonth(start, end));
try {
System.out.println(GgczUtil.getBetween("2013-05-02", "2013-05-05", GgczUtil.YYYYMMDD, GgczUtil.MONTH_RETURN));
} catch (ParseException e) {
e.printStackTrace();
}
}
java获取两个时间的相隔时间,包括年、月、日、时、分、秒的更多相关文章
- mysql 获取系统时间的下一天 年-月-日 时:分:秒
DAY) as date
- ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒
我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...
- ASP.NET C# 日期 时间 年 月 日 时 分 秒 格式及转换(转自happymagic的专栏)
在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...
- ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换
在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...
- [Windows]获取当前时间(年/月/日/时/分/秒)
struct tm* GetCurTime(time_t inTime) { struct tm* curTime = localtime(&inTime); curTime->tm_y ...
- Java 获取年 月 日 时 分 秒
/** * 英文简写(默认)如:2010-12-01 */ public static String FORMAT_SHORT = "yyyy-MM-dd"; /** * 英文全称 ...
- oracle截取时间的年/月/日/时/分/秒
修改日期格式为年月日时分秒: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';select to_char(sysdate,'yyy ...
- C#WinForm中显示实时时间:年/月/日 时/分/秒 星期X
//加载窗体时 string weekstr = ""; private void Form22_Load(object sender, EventArgs e) { this.t ...
- js将当前时间格式化为年-月-日 时:分:秒
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- WeUI移动页面实现时间选择器(年-月-日-时-分)
在做微信公众号的时候,使用的WeUI样式,有一个需求是用户选择一个预约时间,需要年月日并精确到小时和分钟. 但是WeUI的picker组件不支持直接显示5列,根据WeUI.js作者的建议,是将日期和时 ...
随机推荐
- javaScript中值类型通过typeof直接进行检测
通过试验,对图像处理有了进一步深入了解和认知,基于第一次的滤波的处理和这次灰度线性变换和直方图处理图像,知道了图像的成像原理,都是一个个的像素点,就是矩阵的值.以后可以利用MATLAB进行图像处理,运 ...
- linq操作文件方法
备忘 string directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); List<File ...
- SpringMVC常用配置-Controller返回格式化数据如JSON、XML的配置方式和机制
- [CC]获取ScalarField的值
//根据字段滤波void MainWindow::doActionFilterByValue() ReferenceCloud* ManualSegmentationTools::segment(Ge ...
- ReadMe.md MarkDown file
MarkDown 文件写法类似写Confluence page. http://blog.csdn.net/kaitiren/article/details/38513715
- svg学习(九)path
<path> 标签用来定义路径. 下面的命令可用于路径数据: M = moveto L = lineto H = horizontal lineto V = vertical lineto ...
- 使用Visual Studio扩展插件Visual assist X给代码插入注释模板
Visual Assist 是由Whole Tomato公司为Microsoft Visual Studio开发的一款插件.它对Visual Studio的智能提示功能和代码高亮功能进行了增强,同时还 ...
- Redis与Memcache的区别
Redis与Memcache的区别 数据类型: redis数据类型丰富,支持set liset等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 持久性: red ...
- 什么情况下会用到try-catch
本文不区分语言,只为记录一次有收获的面试. 面试官:什么情况下用到try-catch?程序员:代码执行预料不到的情况,我会使用try-catch.面试官:什么是预料不到的情况呢?程序员:比如我要计算a ...
- 论文阅读(Xiang Bai——【CVPR2012】Detecting Texts of Arbitrary Orientations in Natural Images)
Xiang Bai--[CVPR2012]Detecting Texts of Arbitrary Orientations in Natural Images 目录 作者和相关链接 方法概括 方法细 ...