好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

java Long类型转为String类型的两种方式及区别说明

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

查看更多关于java Long类型转为String类型的两种方式及区别说明的详细内容...

  阅读:48次