SimpleDateFormat

日期转换用到了SimpleDateFormat类,其中有两个方法format()和parse(),下面讲一下用法及可能出现的问题。

parse方法:将字符串类型(Java.lang.String)解析为日期类型(java.util.Date)
format方法:将日期类型(Date)数据格式化为字符串(String)

1.先说parse(),parse()是将字符串类型的解析为日期类型的

  1. public static void main(String[] args) {    
  2.         String str = "2013-01-21 15:10:20";    
  3.         Date date = null;    
  4.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");    
  5.         try {    
  6.             date = sdf.parse(str);    
  7.         } catch (ParseException e) {    
  8.             System.out.println(e.getMessage());    
  9.         }    
  10.         System.out.println(date);    
  11.         System.out.println(date.getTime());    
  12.     }    
2.format(),这个方法是将日期类型的数据格式化为字符串
  1. public static void main(String[] args){  
  2.  <span style="white-space:pre"> </span>SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");  
  3.  <span style="white-space:pre"> </span>String a=dateformat.format(new Date());  
  4.  <span style="white-space:pre"> </span>System.out.println("时间:"+a);  
  5.    
  6. }  
3.SimpleDateFormat是线程不安全的,为了安全,可以对操作进行加锁。
  1. public static void main(String[] args) throws Exception {  
  2.         String str = "2013-01-21 15:10:20";    
  3.         System.out.println(parseString(str));  
  4.           
  5.     }  
  6.       
  7.     public static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");  
  8.     private static final Object LOCK = new Object();  
  9.     public static Date parseString(String datetime) throws Exception {  
  10.         synchronized (LOCK) {  
  11.             return format.parse(datetime);  
  12.         }  
  13.     }  
4.有的时候会报这种错误
  1. Exception in thread "main" java.text.ParseException: Unparseable date: "2013-01-21 15:10:20"  
  2.     at java.text.DateFormat.parse(DateFormat.java:357)  
  3.     at com.date.DateTest.parseString(DateTest.java:20)  
  4.     at com.date.DateTest.main(DateTest.java:12)  
这里要注意一下,使用parse方法将String转为Date时,SimpleDateFormat定义的格式与参数String的格式必须完全一致,不然就会出现Unparseable date。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值