java 日期格式化 將String日期重新格式化成String型【轉】


在做會時間日期的格式互轉時,遇到了點小問題,看到一篇很不錯的博客,貼上地址分享一下,並順便copy一份過來

原文出處:https://www.iteye.com/blog/heisetoufa-1511476

將String型格式化,比如想要將2011-11-11格式化成2011年11月11日 

public static void main(String args[]){    
        String strDate = "2011-11-11 10:11:30.345" ;    
        // 准備第一個模板,從字符串中提取出日期數字    
        String pat1 = "yyyy-MM-dd HH:mm:ss.SSS" ;    
        // 准備第二個模板,將提取后的日期數字變為指定的格式    
        String pat2 = "yyyy年MM月dd日 HH時mm分ss秒SSS毫秒" ;    
        SimpleDateFormat sdf1 = new SimpleDateFormat(pat1) ;        // 實例化模板對象    
        SimpleDateFormat sdf2 = new SimpleDateFormat(pat2) ;        // 實例化模板對象    
        Date d = null ;    
        try{    
            d = sdf1.parse(strDate) ;   // 將給定的字符串中的日期提取出來    
        }catch(Exception e){            // 如果提供的字符串格式有錯誤,則進行異常處理    
            e.printStackTrace() ;       // 打印異常信息    
        }    
        System.out.println(sdf2.format(d)) ;    // 將日期變為新的格式    
    }    

步驟:

1、先根據你要轉換的日期格式定義出一個模式;

2、通過第一步定義的模式將要轉換的日期(字符串)中的日期提取出來;

3、將第二步得到的日期轉換為目標模式;

因此,至少需要定義兩個日期的模式?一個是要轉換的字符串當前的日期模式,另一個是要轉成的目標模式?

附上常見的模式

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");   //時間格式
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddhhmmss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM