前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java 获取当前系统时间 时间比较

java 获取当前系统时间 时间比较

作者头像
全栈程序员站长
发布2022-11-02 16:48:53
2.6K0
发布2022-11-02 16:48:53
举报

JAVA获得当前时间的几种方法

一. 获取当前系统时间和日期并格式化输出:

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

public class NowString { public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//设置日期格式 System.out.println(df.format(new Date()));// new Date()为获取当前系统时间 } }

二. 在数据库里的日期只以年-月-日的方式输出,可以用下面两种方法:

1、用convert()转化函数:

String sqlst = “select convert(varchar(10),bookDate,126) as convertBookDate from roomBook where bookDate between ‘2007-4-10’ and ‘2007-4-25′”;

System.out.println(rs.getString(“convertBookDate”));

2、利用SimpleDateFormat类:

先要输入两个java包:

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

然后:

定义日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd);

sql语句为:String sqlStr = “select bookDate from roomBook where bookDate between ‘2007-4-10’ and ‘2007-4-25′”;

输出:

System.out.println(df.format(rs.getDate(“bookDate”)));

************************************************************

java中获取当前日期和时间的方法

import java.util.Date; import java.util.Calendar; import java.text.SimpleDateFormat; public class TestDate{ public static void main(String[] args){ Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy/MM/dd HH:mm:ss”);//可以方便地修改日期格式

String hehe = dateFormat.format( now ); System.out.println(hehe); Calendar c = Calendar.getInstance();//可以对每个时间域单独修改

int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int date = c.get(Calendar.DATE); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); int second = c.get(Calendar.SECOND); System.out.println(year + “/” + month + “/” + date + ” ” +hour + “:” +minute + “:” + second); } }

有时候要把String类型的时间转换为Date类型,通过以下的方式,就可以将你刚得到的时间字符串转换为Date类型了。

SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”);

java.util.Date time=null; try { time= sdf.parse(sdf.format(new Date()));

} catch (ParseException e) { e.printStackTrace(); }

Java中日期时间比较 java.text.SimpleDateFormat 类 ----时间日期格式化 java.util.Date类 ----构造时间日期 java.util.Date类compareTo方法 ----比较日期时间 java中日期时间的比较要用到java.text.SimpleDateFormat 类和java.util.Date类compareTo方法,SimpleDateFormat类用于时间日期格式化,将日期时间格式化为制定的格式,compareTo方法用于比较日期时间。以下为我写过的程序片段: String data=doc.getItemValueString(“fd_ngr”); //拟稿时间 String data4=data.substring(data.indexOf(‘ ‘),data.length()); int panduan=data4.indexOf(“-“); int panduan1=data4.indexOf(“/”); ec_dbsy=vi_dbsy.getAllEntries(); //构造日期格式yyyy-MM-NN SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”); SimpleDateFormat formatter2 = new SimpleDateFormat(“MM/dd/yyyy”); if(data4.length()!=0) { if (panduan!=-1){ try { Date date1 = formatter.parse(data4); Date date0=new Date(); Date date2 =formatter.parse(“2006-08-31”); Date date3=formatter.parse(“2006-07-01”); int number1=date1.compareTo(date2); int number2=date1.compareTo(date3); //返回 0 表示时间日期相同 //返回 1 表示日期1>日期2 //返回 -1 表示日期1<日期2 if( number2==1) { if(number1==-1) { System.out.println(“日期格式符合要求!”); System.out.println(“日期格式符合要求的yyyy-MM-dd的文档ID是:”+doc.getUniversalID()); String mPath=”\\”+”\\10.52.4.4\\d$\\Program Files\\WebSphere\\AppServer\\installedApps\\oa1\\oaWeb20061030_war.ear\\oaWeb20061030.war\\doc_fw”; DaglImpl daglImpl = new DaglImpl(); daglImpl.addFW(doc,mPath); //归档处理 } } } catch (ParseException e) { e.printStackTrace(); } }

java中时间比较大小 分类: JAVA 2012-07-05 16:41 1062人阅读 评论(0) 收藏 举报 方法一: DateFormat fmt = new SimpleDateFormat(“yyyy-MM-dd”); String dateBegin=fmt.format(carrierCommand.getDateBegin()); String dateEnd=fmt.format(carrierCommand.getDateEnd()); //如果获得的日期格式不是’2008-05-22′,就必须要格式化一下日期 String dateBegin = request.getParameter(“dateBegin”); String dateEnd = request.getParameter(“dateEnd”); if(java.sql.Date.valueOf(dateBegin).after(java.sql.Date.valueOf(dateEnd))){ //起始日期大于结束日期 errors.rejectValue(“dateEnd”, null, “起始日期必须小于结束日期!”); } StringBuffer timeBegin = new StringBuffer(); StringBuffer timeEnd = new StringBuffer(); timeBegin.append(request.getParameter(“timeBegin”)); timeEnd.append(request.getParameter(“timeEnd”)); timeBegin.append(“:00”); timeEnd.append(“:00”); if(java.sql.Date.valueOf(dateBegin).equals(java.sql.Date.valueOf(dateEnd))) { //起始日期等于结束日期 if(java.sql.Time.valueOf(timeBegin.toString()).equals(java.sql.Time.valueOf (timeEnd.toString())))//时间相同 { errors.rejectValue(“timeEnd”, null, “起始与结束日期相同,起始时间必须小于结束时间!”); } if(java.sql.Time.valueOf(timeBegin.toString()).after(java.sql.Time.valueOf (timeEnd.toString())))//时间相同 { errors.rejectValue(“timeEnd”, null, “起始与结束日期相同,起始时间必须小于结束时间!”); } } 方法二: import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /** * * @author hp */ public class test { public static void main(String args[]) { int i= compare_date(“1995-11-12 15:21”, “1999-12-11 09:59”); System.out.println(“i==”+i); } public static int compare_date(String DATE1, String DATE2) { DateFormat df = new SimpleDateFormat(“yyyy-MM-dd hh:mm”); try { Date dt1 = df.parse(DATE1); Date dt2 = df.parse(DATE2); if (dt1.getTime() > dt2.getTime()) { System.out.println(“dt1 在dt2前”); return 1; } else if (dt1.getTime() < dt2.getTime()) { System.out.println(“dt1在dt2后”); return -1; } else { return 0; } } catch (Exception exception) { exception.printStackTrace(); } return 0; } } 方法三: 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 一: DateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); try { Date d1 = df.parse(“2004-03-26 13:31:40”); Date d2 = df.parse(“2004-01-02 11:30:24”); long diff = d1.getTime() – d2.getTime(); long days = diff / (1000 * 60 * 60 * 24); } catch (Exception e) { } 二: SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); java.util.Date now = df.parse(“2004-03-26 13:31:40”); java.util.Date date=df.parse(“2004-01-02 11:30:24”); long l=now.getTime()-date.getTime(); long day=l/(24*60*60*1000); long hour=(l/(60*60*1000)-day*24); long min=((l/(60*1000))-day*24*60-hour*60); long s=(l/1000-day*24*60*60-hour*60*60-min*60); System.out.println(“”+day+”天”+hour+”小时”+min+”分”+s+”秒”); 三: SimpleDateFormat dfs = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); java.util.Date begin=dfs.parse(“2004-01-02 11:30:24”); java.util.Date end = dfs.parse(“2004-03-26 13:31:40”); long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒 long day1=between/(24*3600); long hour1=between%(24*3600)/3600; long minute1=between%3600/60; long second1=between%60/60; System.out.println(“”+day1+”天”+hour1+”小时”+minute1+”分”+second1+”秒”); ==================================================== java 比较时间大小 String s1=”2008-01-25 09:12:09″; String s2=”2008-01-29 09:12:11″; java.text.DateFormat df=new java.text.SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); java.util.Calendar c1=java.util.Calendar.getInstance(); java.util.Calendar c2=java.util.Calendar.getInstance(); try { c1.setTime(df.parse(s1)); c2.setTime(df.parse(s2)); }catch(java.text.ParseException e){ System.err.println(“格式不正确”); } int result=c1.compareTo(c2); if(result==0) System.out.println(“c1相等c2”); else if(result<0) System.out.println(“c1小于c2”); else System.out.println(“c1大于c2”);

JAVA获得当前时间的几种方法

分类:

package com.xjp.common.util;

import java.sql.Timestamp; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Date;

import com.ttsoft.framework.util.DateUtil;

/** * Title: 时间获取 * Description: 当前时间 * Copyright: Copyright 2010 * Company: * @author jiq * @version 1.0 */ public class XJPDateUtil extends DateUtil { public static final String[] months = { “一月”, “二月”, “三月”, “四月”, “五月”, “六月”, “七月”, “八月”, “九月”, “十月”, “十一月”, “十二月”, };

public static final String[] quarters = { “一季度”, “二季度”, “三季度”, “四季度” };

public XJPDateUtil() { }

/** * 获取日期字符串。 * * <pre> * 日期字符串格式: yyyyMMdd * 其中: * yyyy 表示4位年。 * MM 表示2位月。 * dd 表示2位日。 * </pre> * * @return String “yyyyMMdd”格式的日期字符串。 */ public static String getDate() { SimpleDateFormat formatter = new SimpleDateFormat(“yyyyMMdd”);

return formatter.format(new Date()); }

/** * 获取当前年度字符串。 * * <pre> * 日期字符串格式: yyyy * 其中: * yyyy 表示4位年。 * </pre> * * @return String “yyyy”格式的当前年度字符串。 */ public static String getNowYear() { SimpleDateFormat formatter = new SimpleDateFormat(“yyyy”);

return formatter.format(new Date()); }

/** * 获取当前月度字符串。 * * <pre> * 日期字符串格式: MM * 其中: * MM 表示4位年。 * </pre> * * @return String “yyyy”格式的当前月度字符串。 */ public static String getNowMonth() { SimpleDateFormat formatter = new SimpleDateFormat(“MM”);

return formatter.format(new Date()); }

/** * 获取当前月度字符串。 * * <pre> * 日期字符串格式: dd * 其中: * dd 表示4位年。 * </pre> * * @return String “yyyy”格式的当前月度字符串。 */ public static String getNowDay() { SimpleDateFormat formatter = new SimpleDateFormat(“dd”);

return formatter.format(new Date()); }

/** * 获取日期字符串。 * * <pre> * 日期字符串格式: yyyyMMdd * 其中: * yyyy 表示4位年。 * MM 表示2位月。 * dd 表示2位日。 * </pre> * * @param date * 需要转化的日期。 * @return String “yyyyMMdd”格式的日期字符串。 */ public static String getDate(Date date) { SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);

return formatter.format(date); }

/** * 获取日期字符串。 * * <pre> * 日期字符串格式: yyyyMMdd * 其中: * yyyy 表示4位年。 * MM 表示2位月。 * dd 表示2位日。 * </pre> * * @param date * 需要转化的日期。 * @return String “yyyyMMdd”格式的日期字符串。 */ /** * 将指定的日期字符串转化为日期对象 * * @param dateStr * 日期字符串 * @return java.util.Date * @roseuid 3F39FE450385 */ public static Date getDate(String dateStr) { if (XJPTypeChecker.isDate(dateStr)) { // 日期型 SimpleDateFormat df = new SimpleDateFormat(“yyyyMMdd”); try { java.util.Date date = df.parse(dateStr); return date; } catch (Exception ex) { Logger.write(“日期格式不符合或者日期为空!请检查!”); return null; } // end try – catch } else if (XJPTypeChecker.isDatetime(dateStr)) { // 日期时间型 SimpleDateFormat df = new SimpleDateFormat( “yyyy-MM-dd HH:mm:ss.SSS”); try { java.util.Date date = df.parse(dateStr); return date; } catch (Exception ex) { return null; } // end try – catch } // end if return null; }

/** * 获取日期字符串。 * * <pre> * 日期字符串格式: yyyy-MM-dd * 其中: * yyyy 表示4位年。 * MM 表示2位月。 * dd 表示2位日。 * </pre> * * @return String “yyyy-MM-dd”格式的日期字符串。 */ public static String getHyphenDate() { SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);

return formatter.format(new Date()); }

/** * 获取日期字符串。 * * <pre> * 日期字符串格式: yyyy-MM-dd * 其中: * yyyy 表示4位年。 * MM 表示2位月。 * dd 表示2位日。 * </pre> * * @param date * 需要转化的日期。 * @return String “yyyy-MM-dd”格式的日期字符串。 */ public static String getHyphenDate(Date date) { SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);

return formatter.format(date); }

/** * 将”yyyyMMdd”格式的日期字符串转换为日期对象。 * * @param source * 日期字符串。 * @return Date 日期对象。 */ public static Date parsePlainDate(String source) { SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMdd”);

return sdf.parse(source, new ParsePosition(0)); }

/** * 将“yyyy-MM-dd”格式的日期字符串转换为日期对象。 * * @param source * 日期字符串。 * @return Date 日期对象。 */ public static Date parseHyphenDate(String source) { SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);

return sdf.parse(source, new ParsePosition(0)); }

/** * 将指定格式的日期字符串转换为日期对象。 * * @param source * 日期字符串。 * @param pattern * 模式。 * @return Date 日期对象。 */ public static Date parseDate(String source, String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern);

return sdf.parse(source, new ParsePosition(0)); }

/** * 将“yyyy-MM-dd”格式的日期字符串转换为“yyyyMMdd”格式的日期字符串。 * * @param source * 日期字符串。 * @return String “yyyymmdd”格式的日期字符串。 */ public static String toPlainDate(String source) { Date date = parseHyphenDate(source); SimpleDateFormat formatter = new SimpleDateFormat(“yyyyMMdd”);

return formatter.format(date); }

/** * 将“yyyyMMdd”格式的日期字符串转换为“yyyy-MM-dd”格式的日期字符串。 * * @param source * 日期字符串。 * @return String “yyyy-MM-dd”格式的日期字符串。 */ public static String toHyphenDate(String source) { Date date = parsePlainDate(source); SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);

return formatter.format(date); }

/** * 获取时间戳,将日期对象转换为时间戳类型。 * * @param date * 日期对象 * @return Timestamp 时间戳 */ public static Timestamp getTimestamp(Date date) { return new Timestamp(date.getTime()); }

/** * 获取时间戳,将当前日期转换为时间戳类型。 * * @return Timestamp 时间戳 */ public static Timestamp getTimestamp() { return new Timestamp(new Date().getTime()); }

/** * 将“yyyyMMdd”格式的日期字符串转换为Timestamp类型的对象。 * * @param source * 日期字符串 * @return Timestamp 时间戳 */ public static Timestamp parseTimestamp(String source) { Date date = parsePlainDate(source);

return getTimestamp(date); }

/** * 获得年度周期 <br> * Example:<br> * XJPDateUtil.getPeriodYear(“20040229” , -1);<br> * XJPDateUtil.getPeriodYear(“20040228” , -1);<br> * XJPDateUtil.getPeriodYear(“20020230” , 2);<br> * * @param source * 时间串 * @param yearPeriod * 年度周期 -1代表本时间的上一年度,以次类推。 * @return String 时间。 */ public static String getPeriodYear(String source, int yearPeriod) { int p = Integer.parseInt(source.substring(0, 4)) + yearPeriod; String newYear = String.valueOf(p) + source.substring(4, source.length()); Date date = parsePlainDate(newYear); String s = getDate(date); int ny = Integer.parseInt(s); int sy = Integer.parseInt(newYear);

while (ny > sy) { sy–; ny = Integer.parseInt(getDate(parsePlainDate(String.valueOf(sy)))); }

return String.valueOf(sy); }

/** * 获取当前日期和时间 * * @return String */ public static String getCurrentDateStr() { Date date = new Date(); String str = null; SimpleDateFormat df = new SimpleDateFormat(“yyyyMMdd HH:mm:ss”); str = df.format(date); return str; }

/** * 日期相加 * * @param day * 天数 * @return 返回相加后的日期 */ public static String addDate(int day) { java.util.Calendar c = java.util.Calendar.getInstance();

c.setTimeInMillis(System.currentTimeMillis() + ((long) day) * 24 * 3600 * 1000); SimpleDateFormat df = new SimpleDateFormat(“yyyyMMdd HH:mm:ss”); return df.format(c.getTime()); }

/** * 返回毫秒 * * @param date * 日期 * @return 返回毫秒 */ public static long getMillis(java.util.Date date) { java.util.Calendar c = java.util.Calendar.getInstance(); c.setTime(date); return c.getTimeInMillis(); } /** * 获取当前日期和时间 * @param format 日期格式 例:yyyy-MM-dd hh:mm * @return String */ public static String getNowDate(String format) { Date date = new Date(); String str = null; SimpleDateFormat df = new SimpleDateFormat(format); str = df.format(date); return str; } /** * 将strmon的日期减小一个月 * @param mon * @return */ public static String getReduceMonDate(String strmon) { if (strmon != null && !strmon.equals(“”)) { Date mon = parseHyphenDate(strmon); mon.setMonth(mon.getMonth() – 1); return getHyphenDate(mon); } else { return “”; } } public static String getTimeStr(String dateStr){ Date date=getDate(dateStr); String str = null; SimpleDateFormat df = new SimpleDateFormat(“HH:mm:ss”); str = df.format(date); return str; } public static String getTimeStr(){ String str=””; SimpleDateFormat df = new SimpleDateFormat(“HH:mm:ss”); str = df.format(new Date()); return str; } }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180309.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java中日期时间比较 java.text.SimpleDateFormat 类 ----时间日期格式化 java.util.Date类 ----构造时间日期 java.util.Date类compareTo方法 ----比较日期时间 java中日期时间的比较要用到java.text.SimpleDateFormat 类和java.util.Date类compareTo方法,SimpleDateFormat类用于时间日期格式化,将日期时间格式化为制定的格式,compareTo方法用于比较日期时间。以下为我写过的程序片段: String data=doc.getItemValueString(“fd_ngr”); //拟稿时间 String data4=data.substring(data.indexOf(‘ ‘),data.length()); int panduan=data4.indexOf(“-“); int panduan1=data4.indexOf(“/”); ec_dbsy=vi_dbsy.getAllEntries(); //构造日期格式yyyy-MM-NN SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”); SimpleDateFormat formatter2 = new SimpleDateFormat(“MM/dd/yyyy”); if(data4.length()!=0) { if (panduan!=-1){ try { Date date1 = formatter.parse(data4); Date date0=new Date(); Date date2 =formatter.parse(“2006-08-31”); Date date3=formatter.parse(“2006-07-01”); int number1=date1.compareTo(date2); int number2=date1.compareTo(date3); //返回 0 表示时间日期相同 //返回 1 表示日期1>日期2 //返回 -1 表示日期1<日期2 if( number2==1) { if(number1==-1) { System.out.println(“日期格式符合要求!”); System.out.println(“日期格式符合要求的yyyy-MM-dd的文档ID是:”+doc.getUniversalID()); String mPath=”\\”+”\\10.52.4.4\\d$\\Program Files\\WebSphere\\AppServer\\installedApps\\oa1\\oaWeb20061030_war.ear\\oaWeb20061030.war\\doc_fw”; DaglImpl daglImpl = new DaglImpl(); daglImpl.addFW(doc,mPath); //归档处理 } } } catch (ParseException e) { e.printStackTrace(); } }
  • java中时间比较大小 分类: JAVA 2012-07-05 16:41 1062人阅读 评论(0) 收藏 举报 方法一: DateFormat fmt = new SimpleDateFormat(“yyyy-MM-dd”); String dateBegin=fmt.format(carrierCommand.getDateBegin()); String dateEnd=fmt.format(carrierCommand.getDateEnd()); //如果获得的日期格式不是’2008-05-22′,就必须要格式化一下日期 String dateBegin = request.getParameter(“dateBegin”); String dateEnd = request.getParameter(“dateEnd”); if(java.sql.Date.valueOf(dateBegin).after(java.sql.Date.valueOf(dateEnd))){ //起始日期大于结束日期 errors.rejectValue(“dateEnd”, null, “起始日期必须小于结束日期!”); } StringBuffer timeBegin = new StringBuffer(); StringBuffer timeEnd = new StringBuffer(); timeBegin.append(request.getParameter(“timeBegin”)); timeEnd.append(request.getParameter(“timeEnd”)); timeBegin.append(“:00”); timeEnd.append(“:00”); if(java.sql.Date.valueOf(dateBegin).equals(java.sql.Date.valueOf(dateEnd))) { //起始日期等于结束日期 if(java.sql.Time.valueOf(timeBegin.toString()).equals(java.sql.Time.valueOf (timeEnd.toString())))//时间相同 { errors.rejectValue(“timeEnd”, null, “起始与结束日期相同,起始时间必须小于结束时间!”); } if(java.sql.Time.valueOf(timeBegin.toString()).after(java.sql.Time.valueOf (timeEnd.toString())))//时间相同 { errors.rejectValue(“timeEnd”, null, “起始与结束日期相同,起始时间必须小于结束时间!”); } } 方法二: import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /** * * @author hp */ public class test { public static void main(String args[]) { int i= compare_date(“1995-11-12 15:21”, “1999-12-11 09:59”); System.out.println(“i==”+i); } public static int compare_date(String DATE1, String DATE2) { DateFormat df = new SimpleDateFormat(“yyyy-MM-dd hh:mm”); try { Date dt1 = df.parse(DATE1); Date dt2 = df.parse(DATE2); if (dt1.getTime() > dt2.getTime()) { System.out.println(“dt1 在dt2前”); return 1; } else if (dt1.getTime() < dt2.getTime()) { System.out.println(“dt1在dt2后”); return -1; } else { return 0; } } catch (Exception exception) { exception.printStackTrace(); } return 0; } } 方法三: 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 一: DateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); try { Date d1 = df.parse(“2004-03-26 13:31:40”); Date d2 = df.parse(“2004-01-02 11:30:24”); long diff = d1.getTime() – d2.getTime(); long days = diff / (1000 * 60 * 60 * 24); } catch (Exception e) { } 二: SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); java.util.Date now = df.parse(“2004-03-26 13:31:40”); java.util.Date date=df.parse(“2004-01-02 11:30:24”); long l=now.getTime()-date.getTime(); long day=l/(24*60*60*1000); long hour=(l/(60*60*1000)-day*24); long min=((l/(60*1000))-day*24*60-hour*60); long s=(l/1000-day*24*60*60-hour*60*60-min*60); System.out.println(“”+day+”天”+hour+”小时”+min+”分”+s+”秒”); 三: SimpleDateFormat dfs = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); java.util.Date begin=dfs.parse(“2004-01-02 11:30:24”); java.util.Date end = dfs.parse(“2004-03-26 13:31:40”); long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒 long day1=between/(24*3600); long hour1=between%(24*3600)/3600; long minute1=between%3600/60; long second1=between%60/60; System.out.println(“”+day1+”天”+hour1+”小时”+minute1+”分”+second1+”秒”); ==================================================== java 比较时间大小 String s1=”2008-01-25 09:12:09″; String s2=”2008-01-29 09:12:11″; java.text.DateFormat df=new java.text.SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); java.util.Calendar c1=java.util.Calendar.getInstance(); java.util.Calendar c2=java.util.Calendar.getInstance(); try { c1.setTime(df.parse(s1)); c2.setTime(df.parse(s2)); }catch(java.text.ParseException e){ System.err.println(“格式不正确”); } int result=c1.compareTo(c2); if(result==0) System.out.println(“c1相等c2”); else if(result<0) System.out.println(“c1小于c2”); else System.out.println(“c1大于c2”);
  • JAVA获得当前时间的几种方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档