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

网友投稿 718 2022-09-30


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

目录java Long类型转为String类型1、Long.ValueOf("String")返回Long包装类型数据2、Long.parseLong("String")返回long基本数据类型Java中Long、String、Date 类型之间的转换1、Java.util.Date类型转换成long类型2、long类型转换成java.util.Date类型3、形如“2015-08-31 21:08:06”等格式化string类型转换成java.util.Date类型

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类型

Date date=new Date();

System.out.println(date.getTime());

解析:其中getTime()返回为long类型,长度为13,表示毫秒;如果想获得秒数,只需要除以1000即可。

long mseconds=date.getTime()/1000;

2、long类型转换成java.util.Date类型

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

前面的myUxkmseconds是表示的是秒数,所以要先乘1000得到毫秒数,再转为java.util.Date类型,这样就完成了long到Date的转化;为了格式化输出Date,可以调用SimpleDateFormat的format方法格式化输出Date。

3、形如“2015-08-31 21:08:06”等格式化string类型转换成java.util.Date类型

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解决

String str="Whttp://ed 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类):

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

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微软 AD 常见问答:功能篇
下一篇:sd-wan组网方案架构及sdwan 异地组网方案实现方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~