A. 如何用java把date类型转换成long数字
/**
*@paramargs
*/
publicstaticvoidmain(String[]args)
{
Datedate=newDate();
//返回自抄1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数。
longtime=date.getTime();
System.out.println(time);
}
B. java时间格式化,String转成long的格式
/**
*@paramdate字符串格式的日期
*@paramstyle日期格式
*@return
*/
publiclongdateStr2Long(Stringdate,Stringstyle){
longresult=0;
SimpleDateFormatsdf=newSimpleDateFormat(style);
try{
result=sdf.parse(date).getTime();
}catch(ParseExceptione){
e.printStackTrace();
}
returnresult;
}
/*
*测试
*/
System.out.println(dateStr2Long("2014-11-59:57:28","yyyy-MM-dhh:mm:ss"));
System.out.println(dateStr2Long("1/22/20153:29:57PM","MM/d/yyyhh:mm:ss"));
C. 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形式后比
D. java中两个字符串如何比较大小
使用 String.compareTo 方法:
compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.
例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)