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;
}
}