软件编程
位置:首页>> 软件编程>> java编程>> java Long类型转为String类型的两种方式及区别说明

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

作者:微观尽头  发布时间:2022-11-12 18:03:38 

标签: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类型


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

前面的mseconds是表示的是秒数,所以要先乘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="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类):


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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com