Java中日期格式轉換


                                                              Java日期格式化及其使用例子收集

1 SimpleDateFormat擔當重任,怎樣格式化都行
import java.util.Date;
import java.text.SimpleDateFormat;
public class Demo
{
 public static void main(String[] args)
 {
  Date now=new Date();
  SimpleDateFormat f=newSimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk點mm分");
  System.out.println(f.format(now));
  
  f=new SimpleDateFormat("a hh點mm分ss秒");
  System.out.println(f.format(now));
  }
 }
		

2 從字符串到日期類型的轉換:

import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.text.*;
publicclass Demo
{
 public static void main(String[] args)
 {
  String strDate="2005年04月22日";
 //注意:SimpleDateFormat構造函數的樣式與strDate的樣式必須相符
  SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日");
 //必須捕獲異常
try
  { 
   Date date=simpleDateFormat.parse(strDate);
   System.out.println(date);
  }
  catch(ParseException px)
  {
   px.printStackTrace();
  }
 }
}
		

3 將毫秒數換轉成日期類型

import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.text.*;
public class Demo
{
 public static void main(String[] args)
 {
  long now=System.currentTimeMillis();
  System.out.println("毫秒數:"+now);
  Date dNow=new Date(now);
  System.out.println("日期類型:"+dNow);
 }
}

這3例源自http://blog.csdn.net/zhoujian2003/archive/2005/04/22/358363.aspx

4 獲取系統時期和時間,轉換成SQL格式后更新到數據庫

java.util.Date d=new java.util.Date();    //獲取當前系統的時間
 //格式化日期
new java.text.SimpleDateFormat s= new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = s.format(d); //轉為字符串	
使用RS更新數據庫,仍然要用rs.updateString,而不是rs.updateDade。
rs.updateString("regtime",dateStr);  //regtime字段為datetime類型的
 
 

5 按本地時區輸出當前日期

Date myDate = new Date();
System.out.println(myDate.toLocaleString());
輸出結果為:
2003-5-30
		

6 如何格式化小數

DecimalFormat df = new DecimalFormat(",###.00");   
double aNumber = 33665448856.6568975; 
String result = df.format(aNumber);   
Sytem. out.println(result);
	
輸出結果為:
33,665,448,856.66
其他:獲取毫秒時間 System.currentTimeMillis();
 

7 在數據庫里的日期只以年-月-日的方式輸出

定義日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd);
sql語句為:String sqlStr = "select bookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'";
輸出:
System.out.println(df.format(rs.getDate("bookDate")));
 

8 經典例子(http://blog.csdn.net/donkeyzheng/archive/2005/12/30/566470.aspx)

Date date = from.getAfmdate();
if (null != date) {
      SimpleDateFormat yearFormat = new SimpleDateFormat("yyyy");
      SimpleDateFormat monthFormat = new SimpleDateFormat("MM");
      SimpleDateFormat dayFormat = new SimpleDateFormat("dd");
      to.setAfmYear(yearFormat.format(date));
      to.setAfmMonth(monthFormat.format(date));
      to.setAfmDay(dayFormat.format(date));
    }
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    appPo.setAfmdate(format.parse(appForm.getAfmYear() + "-" +
                                  appForm.getAfmMonth() + "-" +
                                  appForm.getAfmDay()));

實用封裝類

public class StringUtil {
public static String formatDate(Date date){
if(date==null){
return "";
}
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return format.format(date);
}

public static String formatDate(long time){
Date date = new Date(time);
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH點mm分ss");
return format.format(date);
}

public static String formatDate(String time){
Date date = new Date(Long.valueOf(time));
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH點mm分ss");
return format.format(date);
}

public static boolean isNumber(String str){
boolean isOk = false;
try {
Integer.valueOf(str);
isOk = true;
} catch (NumberFormatException e) {
isOk = false;
e.printStackTrace();
}
return isOk;
}
}




免責聲明!

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



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