java Long类型转为String类型
1、Long.ValueOf("String")返回Long包装类型数据
包装类型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等。
2、Long.parseLong("String")返回long基本数据类型
基本数据类型:byte,int,short,long,boolean,char,float,double等。
注意事项:
1、字符串内不能包含除数字之外的字符,不然会报错,java.lang.NumberFormatException
2、字符串长度要限制,不然也会报错。
比如:String s ="1234567899876543210000",超过19位,就会报错,java.lang.NumberFormatException.
String s = "12345698798765432100",不超过就不会包错。
原因是Long类型的最大值位Long.MAX_VALUE = 9223372036854775807,大于错,最小值位Long.MIN_VALUE = -9223372036854775808,小于这个值也会报错。
Java中Long、String、Date 类型之间的转换
1、Java.util.Date类型转换成long类型
1
2
|
Date date= new Date();
System.out.println(date.getTime());
|
解析:其中getTime()返回为long类型,长度为13,表示毫秒;如果想获得秒数,只需要除以1000即可。
1
|
long mseconds=date.getTime()/ 1000 ;
|
2、long类型转换成java.util.Date类型
1
2
3
4
|
SimpleDateFormat sdf= new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
java.util.Date date = new Date(mseconds * 1000 );
String str = sdf.format(date);
System.out.println(str);
|
前面的mseconds是表示的是秒数,所以要先乘1000得到毫秒数,再转为java.util.Date类型,这样就完成了long到Date的转化;为了格式化输出Date,可以调用SimpleDateFormat的format方法格式化输出Date。
3、形如“2015-08-31 21:08:06”等格式化string类型转换成java.util.Date类型
1
2
3
4
|
String str= "2015-08-31 21:08:06" ;
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
Date date = (Date) sdf.parse(str);
System.out.println(date.getTime());
|
其输出结果为:
1441026486000
有时候需要对CST时间进行转化,如:Wed Sep 16 11:26:23 CST 2009,此时同样可以用SimpleDateFormat的parse解决
1
2
3
|
String str= "Wed Sep 16 11:26:23 CST 2009" ;
SimpleDateFormat sdf = new SimpleDateFormat( "EEE MMM dd HH:mm:ss zzz yyyy" , Locale.US);
Date date = (Date) sdf.parse(str);
|
备注(util类):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
import java.text.*;
import java.util.*;
public class DateFormat {
/**
* date类型进行格式化输出
* @param date
* @return
*/
public static String dateFormat(Date date) {
SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
String dateString = formatter.format(date);
return dateString;
}
/**
* 将"2017-08-9 21:08:06"型字符串转化为Date
* @param str
* @return
* @throws ParseException
*/
public static Date StringToDate(String str) throws ParseException{
SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
Date date = (Date) formatter.parse(str);
return date;
}
/**
* 将CST时间类型字符串进行格式化输出
* @param str
* @return
* @throws ParseException
*/
public static String CSTFormat(String str) throws ParseException{
SimpleDateFormat formatter = new SimpleDateFormat( "EEE MMM dd HH:mm:ss zzz yyyy" , Locale.US);
Date date = (Date) formatter.parse(str);
return dateFormat(date);
}
/**
* 将long类型转化为Date
* @param str
* @return
* @throws ParseException
*/
public static Date LongToDare( long str) throws ParseException{
return new Date(str * 1000 );
}
}
|
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/huangdingsheng/article/details/83754637