A. java中如何比較兩個時間字元串的大小
一種思抄路:用 SimpleDateFormat 來處理,可襲以轉成long形式的,那是1970年1月1日起到現在的毫秒數。可以直接比大小了。
另外一種思路:因為你這里是用的補全格式(7月寫成了07),那麼可以直接字面轉了比較
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);
}
這個結果是20100716120000,就這個意思,直接字面轉成long形式後比
B. java中兩個表示時間的字元串的比較,time1=「2011-5-24 10:57:02」,time2=「2011-5-24 10:48:30」,如何
public static String BJTime(String time1,String time2) {
try {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date star = df.parse(time1);
java.util.Date end = df.parse(time2);
long l = star.getTime() - end.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);
return "相差鬧伏: " + day + "天" + hour + "小時" + min + "分御早" + s + "秒";
} catch (Exception e) {
e.printStackTrace();
return "出異常!";
}
}
只要你傳(String time1,String time2)2個參數進來就好了.
C. JAVA 用一個字元串比較 獲得當前時間
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Du {
public static void main(String[] args) {
String date = "19880525";
boolean flag = compreDate(date);
System.out.println(flag);
}
private static boolean compreDate(String date) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
int previousMonth = Integer.parseInt(sdf.format(calendar.getTime()));
int comparedDate = Integer.parseInt(date);
return comparedDate < previousMonth;
}
}
----------
true
D. java字元串日期排序比較問題
package com.zz;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class Demo4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = "2012-4-4";
String s2 = "2013-3-3";
Demo4 demo4 = new Demo4();
int result = demo4.compare(s1, s2);
System.out.println(result);
}
public int compare(String s1, String s2) {
boolean flag = false;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd",
Locale.CHINA);
try {
Date d1 = simpleDateFormat.parse(s1);
Date d2 = simpleDateFormat.parse(s2);
if (d1.getTime() > d2.getTime()) {
flag = true;
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (flag) {
return 1;
} else {
return -1;
}
}
}
ps:split就不要用了。這是在自虐。
E. Java 兩個String類型的時間比較
String怎麼去比較時間?不能用String計算時間。你可以這么寫,
String time1 ="時間1";
String time2 ="時間告殲2";
SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd");
Date date1 = sd.parse(time1);
Date date2 = sd.parse(time2);
long s1 = date1.getTime() ;//時間的毫秒租友返
long s2 = date2.getTime() + 1* 24 * 60 * 60 * 1000;
double day = (s1-s2)/24/60/60/弊飢1000;
if(day>14){
return true;
}else{
return false;
}
F. java判斷字元串是否是日期
Java為了支持多語言,沒舉州有固定的日期格式。你需要根據橘答州自己的需要指定日期格式,然後用DateFormat類或者SimpleDateFormat類來判斷是否是正確的日期格式。
下面的例子供參考。更詳圓蔽細的內容可以參考javadoc。
public class DateUtil{ private static final SimpleDateFormat dateFormat = null; static { dateFormat = new SimpleDateFormat("yyyy/MM/dd"); dateFormat.setLenient(false); } public static boolean isValidDate(String s) { try { dateFormat.parse(s); return true; } catch (Exception e) { return false; } } public static String formatDate(Date d) { return dateFormat.format(d); } }
G. java中,字元串類型的日期格式,如:「18:20:56」和「15:12:45」怎麼比較大小
字元串可以直接比較,日期型的話可以裝換成1970年1月1日起的長整型數字再來比較。
H. java如何判斷兩個日期字元串相差多少天
/**
* 取得兩個時間段的時間間隔 return t2 與t1的間隔天數 throws ParseException
* 如果輸入的日期格式不是0000-00-00 格式拋出異常
*/
public static int getBetweenDays(String t1, String t2)
throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
int betweenDays = 0;
Date d1 = format.parse(t1);
Date d2 = format.parse(t2);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// 保證第二個時間一定大於第一個時間
if (c1.after(c2)) {
c1 = c2;
c2.setTime(d1);
}
int betweenYears = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR);
betweenDays = c2.get(Calendar.DAY_OF_YEAR)
- c1.get(Calendar.DAY_OF_YEAR);
for (int i = 0; i < betweenYears; i++) {
c1.set(Calendar.YEAR, (c1.get(Calendar.YEAR) + 1));
betweenDays += c1.getMaximum(Calendar.DAY_OF_YEAR);
}
return betweenDays;
}
I. Java 兩個時間樣式的字元串對比如:2015-11-02 與 2015/11/23 怎樣對比其大小
importjava.util.Calendar;
importjava.util.Date;
publicclassCat
{
privatestaticDategetD(Stringdate)
{
String[]arr=尺讓date.split("[^\d]+");
Calendarcalendar=Calendar.getInstance();
calendar.set(Integer.parseInt(arr[0]),Integer.parseInt(arr[1])-1,Integer.parseInt(arr[2]));
returncalendar.getTime();
}
publicstaticvoidmain(String[]args)
{
Dated1=getD("2015-11-02");
Dated2=陵物局getD("2015/11/23");
if(d1.compareTo(d2)<0)
{
System.out.println("d1在d2前");
}
elseif(d1.compareTo(d2)>0)
{
System.out.println("螞和d1在d2後");
}
else
{
System.out.println("一樣");
}
}
}
J. java 比較當前日期時間和給出的日期時間(String類型),注意格式類型、要求代碼
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;
}
}