Java中如何比较时间(小时/分/秒)的大小??? java怎么比较时间的大小

java\u4e2d\u5982\u4f55\u6bd4\u8f83\u4e24\u4e2a\u65f6\u95f4\u5b57\u7b26\u4e32\u7684\u5927\u5c0f

\u4e00\u79cd\u601d\u8def\uff1a\u7528 SimpleDateFormat \u6765\u5904\u7406\uff0c\u53ef\u4ee5\u8f6c\u6210long\u5f62\u5f0f\u7684\uff0c\u90a3\u662f1970\u5e741\u67081\u65e5\u8d77\u5230\u73b0\u5728\u7684\u6beb\u79d2\u6570\u3002\u53ef\u4ee5\u76f4\u63a5\u6bd4\u5927\u5c0f\u4e86\u3002


\u53e6\u5916\u4e00\u79cd\u601d\u8def\uff1a\u56e0\u4e3a\u4f60\u8fd9\u91cc\u662f\u7528\u7684\u8865\u5168\u683c\u5f0f(7\u6708\u5199\u6210\u4e8607)\uff0c\u90a3\u4e48\u53ef\u4ee5\u76f4\u63a5\u5b57\u9762\u8f6c\u4e86\u6bd4\u8f83
public static void main(String[] _s) {
String str1 = "2010-07-16 12:00:00";
long longstr1 = Long.valueOf(str1.replaceAll("[-\\s:]",""));
System.out.println(longstr1);
}
\u8fd9\u4e2a\u7ed3\u679c\u662f20100716120000\uff0c\u5c31\u8fd9\u4e2a\u610f\u601d\uff0c\u76f4\u63a5\u5b57\u9762\u8f6c\u6210long\u5f62\u5f0f\u540e\u6bd4

\u4f8b\u5b50\uff1a
String beginTime=new String("2017-06-09 10:22:22");String endTime=new String("2017-05-08 11:22:22");
\u76f4\u63a5\u7528Date\u81ea\u5e26\u65b9\u6cd5before()\u548cafter()\u6bd4\u8f83
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date sd1=df.parse(beginTime);Date sd2=df.parse(endTime);
System.out.println(sd1.before(sd2));System.out.println(sd1.after(sd2));
\u7528String\u7684compareTo()\u65b9\u6cd5\uff1a
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
\u8fd4\u56de\u6b63\u503c\u662f\u4ee3\u8868\u5de6\u4fa7\u65e5\u671f\u5927\u4e8e\u53c2\u6570\u65e5\u671f\uff0c\u53cd\u4e4b\u4ea6\u7136\uff0c\u65e5\u671f\u683c\u5f0f\u5fc5\u987b\u4e00\u81f4
\u8f6c\u6210date\u683c\u5f0f\u6362\u6210\u79d2\u6570\u6bd4\u8f83\u79d2\u6570\u5927\u5c0f\uff0cgetTime()\u65b9\u6cd5
Date sd1=df.parse(beginTime);Date sd2=df.parse(endTime);
long long1 =sd1.getTime()
long long2= sd2.getTime()

\u6269\u5c55\u8d44\u6599\uff1a
Java\u662f\u4e00\u95e8\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u4ec5\u5438\u6536\u4e86C++\u8bed\u8a00\u7684\u5404\u79cd\u4f18\u70b9\uff0c\u8fd8\u6452\u5f03\u4e86C++\u91cc\u96be\u4ee5\u7406\u89e3\u7684\u591a\u7ee7\u627f\u3001\u6307\u9488\u7b49\u6982\u5ff5\uff0c\u56e0\u6b64Java\u8bed\u8a00\u5177\u6709\u529f\u80fd\u5f3a\u5927\u548c\u7b80\u5355\u6613\u7528\u4e24\u4e2a\u7279\u5f81\u3002Java\u8bed\u8a00\u4f5c\u4e3a\u9759\u6001\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\u8bed\u8a00\u7684\u4ee3\u8868\uff0c\u6781\u597d\u5730\u5b9e\u73b0\u4e86\u9762\u5411\u5bf9\u8c61\u7406\u8bba\uff0c\u5141\u8bb8\u7a0b\u5e8f\u5458\u4ee5\u4f18\u96c5\u7684\u601d\u7ef4\u65b9\u5f0f\u8fdb\u884c\u590d\u6742\u7684\u7f16\u7a0b \u3002
Java\u5177\u6709\u7b80\u5355\u6027\u3001\u9762\u5411\u5bf9\u8c61\u3001\u5206\u5e03\u5f0f\u3001\u5065\u58ee\u6027\u3001\u5b89\u5168\u6027\u3001\u5e73\u53f0\u72ec\u7acb\u4e0e\u53ef\u79fb\u690d\u6027\u3001\u591a\u7ebf\u7a0b\u3001\u52a8\u6001\u6027\u7b49\u7279\u70b9\u3002Java\u53ef\u4ee5\u7f16\u5199\u684c\u9762\u5e94\u7528\u7a0b\u5e8f\u3001Web\u5e94\u7528\u7a0b\u5e8f\u3001\u5206\u5e03\u5f0f\u7cfb\u7edf\u548c\u5d4c\u5165\u5f0f\u7cfb\u7edf\u5e94\u7528\u7a0b\u5e8f\u7b49\u3002
\u53c2\u8003\u8d44\u6599\uff1ajava\u6587\u6863date\u7c7b

有两个包里有日期的类型,不知道楼主想用哪个?java.util.Date和java.sql.Timestamp两都可以,后面是面对数据库的,before(),after(),equals()就可以比较两个时间之间的关系了!

××××××××××××××××××××××××××××××××××××××××××××

SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date nows=new java.util.Date();
java.util.Date date=dateFormat.parse("2005-09-12 12:36:29");
long hous=(nows.getTime()-date.getTime())/(60*60*1000);
转换成long在比较 可以得到日期相差的时间

×××××××××××××××××××××××××××××××××××××××××××××

date1, date2;

long l1=date1.getTime();
long l2=date2.getTime();
if(l1>l2)
{
//说明date1比较新
}
else if(l1 == l2)
{
//说明date1和date2一样
}
else
{
//说明date2比较新
}

×××××××××××××××××××××××××××××××××××××××××

SimpleDateFormat dateFormat=new SimpleDateFormat(sPatten);
String sText = dateFormat.format(dateValue);

得到sText后你爱怎么比就怎么比呀
sPatten =“yyyy” 取年
sPatten =“MM” 取月
sPatten =“dd” 取日
sPatten =“HH” 取小时
sPatten =“mm” 取分
sPatten =“ss” 取秒
××××××××××××××××××××××××××××××××××××××××××

Date date1 = .....
Date date2 = .....
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
int n1 = Calendar.get(Calendar.DATE);
cal.setTime(date2);
int n2= Calendar.get(Calendar.DATE);
if (n1 == n2) {
}
......

你在每个时间上都一致的加上今天的日期

你直接比较没格式化之前的!大的证明是今天的,负的是昨天的!

  • java濡備綍姣旇緝鍏蜂綋鏃堕棿
    绛旓細2銆佸皢鍙栧嚭鐨勪袱涓鏃堕棿杩涜鏍煎紡鍖栵細浣跨敤java.text.SimpleDateFormat SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd") ;//灏嗘棩鏈熸牸寮忓寲涓猴細yyyy-MM-dd String n = formatter.format(now) ; // 灏嗗綋鍓嶆椂闂磋繘琛屾牸寮忓寲 3銆佹瘮杈冿細浣跨敤String绫诲瀷鐨勬瘮杈锛歝ompareTo // 鐪婣PI 濡傦細鏁版嵁搴...
  • java鎬庝箞姣旇緝涓や釜鏃堕棿鐨澶у皬
    绛旓細姣旇緝getTime鑾峰彇鐨勬暣鏁板煎ぇ灏忓嵆鍙紝鏁存暟鍊煎ぇ鐨勬椂闂灏卞ぇ锛屾暣鏁板煎皬鐨勬椂闂村氨灏 渚嬪锛 public int compareDate(Date d1,Date d2){ if (dt1.getTime() > dt2.getTime()) { System.out.println("dt1 鍦╠t2鍓"); return 1; } else if (dt1.getTime() ......
  • JAVA鎬庝箞姣旇緝涓涓鏃堕棿鍦 灏忔椂:鍒嗛挓
    绛旓細private static final String formatStr = "HH:mm";private static SimpleDateFormat sdf=new SimpleDateFormat(formatStr);public static void main(String args[]) throws ParseException { String tS = "13:00";String tE = "13:10";if(isInZone(getLong(tS),getLong(tE),getCurrentTime()))...
  • Java涓庝箞姣旇緝褰撳墠鏃堕棿鍦9鐐瑰崐鍜15鐐逛箣闂
    绛旓細Date now = new Date();int hours = now.getHours();int minutes = now.getMinutes();System.out.println(hours + " " + minutes);if ((hours == 9 && minutes >= 30) || (hours >= 10 && hours < 15)){ System.out.println("9:30 - 15:00");} ...
  • 闂竴涓java閲岄潰timestamp鏃堕棿绫诲瀷鐨勬庝箞姣旇緝澶у皬,姣斿璇存垜鎯冲垽鏂垜鐨...
    绛旓細鍏堣浆鎴 Calendar, 鍐嶅彇鍏朵腑鐨 HOUR_OF_DAY 杩欎釜鍩, 鐪嬫槸鍚﹀ぇ浜 18 姣斿 Timestamp ts = new Timestamp(System.currentTimeMillis());Calendar cal = Calendar.getInstance();cal.setTime(ts);System.out.println(cal.get(Calendar.HOUR_OF_DAY));涓や釜 Timestamp 鏈韩鍙互鐩存帴姣, 瀹冨疄鐜颁簡 ...
  • java鏃堕棿姣旇緝
    绛旓細Calendar start = Calendar.getInstance();Calendar end = Calendar.getInstance();start.set(2010, 7, 23);end.set(2010, 8, 26);Date startDate = start.getTime();Date endDate = end.getTime();long startTime = startDate.getTime();long endTime = endDate.getTime();long diffTime ...
  • 鍦JAVA鏃堕棿璁$畻涓 鎬庝箞璁$畻杩欐牱琛ㄧず鐨勬椂闂村樊:int startHour= 7_鐧惧害...
    绛旓細(ParseException e) { System.out.println("浼犲叆鐨勬椂闂鏍煎紡涓嶇鍚堣瀹");} sb.append("宸ヤ綔鏃堕棿涓猴細").append(hour).append("灏忔椂").append(minute).append("鍒嗛挓");return sb.toString();} 杈撳嚭璇彞锛歋ystem.out.println(countTime("2010-04-01 7:45:00","2010-04-01 13:12:00"));
  • java 鎬庝箞姣旇緝涓や釜鏃堕棿鏄惁鐩哥瓑
    绛旓細涓鑸鏃堕棿姣旇緝鏄瘮杈冨畠鐨鍊笺備竴鑸椂闂磋〃鐜颁负涓ょ褰㈠紡锛氭椂闂存埑锛氫緥锛1506484528223(鍒扮)锛岃〃绀哄埌1900骞寸殑绉掓暟 鏍煎紡鍖栨椂闂达細渚嬶紝20170927120000 锛堝氨鏄牸寮忓寲鏃堕棿yyyyMMddHHmmss涓绫荤殑锛姣旇緝鏃堕棿鏃惰杞崲涓哄悓涓绉嶅舰寮忔瘮杈冩墠鏈夋剰涔夈備互涓嬩緵鍙傝冿紝鎴戜笉鐭ラ亾浣爀xetime鐨勬牸寮忥細//鍏朵腑鐨勬牸寮忔寜鐓т綘exetime鐨勬牸寮忔潵鍐...
  • java涓浣曟瘮杈涓や釜鏃堕棿瀛楃涓茬殑澶у皬
    绛旓細涓绉嶆濊矾锛氱敤 SimpleDateFormat 鏉ュ鐞嗭紝鍙互杞垚long褰㈠紡鐨锛岄偅鏄1970骞1鏈1鏃ヨ捣鍒扮幇鍦ㄧ殑姣鏁般傚彲浠ョ洿鎺ユ瘮澶у皬浜嗐傚彟澶栦竴绉嶆濊矾锛氬洜涓轰綘杩欓噷鏄敤鐨勮ˉ鍏ㄦ牸寮(7鏈堝啓鎴愪簡07)锛岄偅涔堝彲浠ョ洿鎺ュ瓧闈㈣浆浜姣旇緝 public static void main(String[] _s) { String str1 = "2010-07-16 12:00:00";long ...
  • java涓璁$畻涓や釜鏃堕棿鐩稿樊澶氬皯鍒嗛挓
    绛旓細long nd = 1000 * 24 * 60 * 60;long nh = 1000 * 60 * 60;long nm = 1000 * 60;// long ns = 1000;// 鑾峰緱涓や釜鏃堕棿鐨姣鏃堕棿宸紓 long diff = endDate.getTime() - nowDate.getTime();// 璁$畻宸灏戝ぉ long day = diff / nd;// 璁$畻宸灏灏忔椂 long hour = diff % ...
  • 扩展阅读:为什么都不建议java转测试 ... java新手入门教程视频 ... 比较日期java程序 ... java多长时间能自学完 ... java自学要学多久 ... java获得当前日期及时间 ... java比较时间大小方法 ... java获取当前时间date ... java获取当前时间的小时 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网