java 中的日期转换

Calendar cald = Calendar.getInstance();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

====<<从记录集中取出日期类型的数据===========================

ResultSet rs=null;

rs= cstmt.executeQuery();

fb.setPublishTime(rs.getTimestamp("publishTime", cald));

=============================>>>

System.out.println(rs.getTimestamp("publishTime", cald));

打印出: 日期时间

System.out.println(rs.getTime("publishTime"));

打印出:  时间

fb.setPublishTime(rs.getDate("publishTime"));

打印出:日期

=============

 

     用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进来。
  用法:SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH:mm:ss就不需要我再解释了吧!
  ps:为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小时制,而hh是12小时制
  1.字符串转日期:
  2002-10-8 15:30:22要把它转成日期,可以用
  Date date = sdf.parse( " 2002-10-8 15:30:22 " );
  2.日期转字符串
  假如把今天的日期转成字符串可用
  String datestr = sdf.format( new Date());
  这个字符串的内容便类似2002-10-08 14:55:38
  透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2002年10月08日,
  我们可以这么写:
  SimpleDateFormat sdf = new SimpleDateFormat( " yyyy年MM月dd日 " );String datestr = sdf.format( new Date());
  datestr便会依照我们设定的格式输出
  附SimpleDateFormat parser = new SimpleDateFormat("EEEE, MMMM dd, yyyy");SimpleDateFormat formatter = new SimpleDateFormat("EEE. MM/dd");

 

 

代码
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * JAVA中字符串转与日期型的互转实例
 * 
@author Administrator
 * 
 * 更改所生成类型注释的模板为 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 
*/
public class ExValue{

 
/**
  * 取当前系统日期,并按指定格式或者是默认格式返回
  * 
@param format
  * 
@return
  
*/
 
public static String getNow(String format){
        
if(null == format || "".equals(format))
        {
            format 
= "yyyy-MM-dd HH:mm:ss";
        }
        SimpleDateFormat sdf 
= new SimpleDateFormat(format);
        String date 
= sdf.format(new Date());
        
return date;
    }
 
/**
  * 将字符型转换为指定格式日期型
  * 
@param _date 需要转换成日期的字符串
  * 
@param format 与需要转换成日期的字符串相匹配的格式
  * 
@return
  
*/
 
private static Date stringToDate(String _date,String format){
  
if(null == format || "".equals(format))
        {
            format 
= "yyyy-MM-dd HH:mm:ss";
        }
  SimpleDateFormat sdf 
= new SimpleDateFormat(format);
  Date date
=null;
  
try {
   date
=sdf.parse(_date);
  } 
catch (ParseException e) {
   
// TODO Auto-generated catch block
   e.printStackTrace();
  }
  
return date;
 }
 
/**
  * 将日期型转换为指定格式的字符串
  * 
@param date 日期
  * 
@param format 格式
  * 
@return
  
*/
 
public static String dateToString(Date date,String format){
  
if(null == format || "".equals(format))
        {
            format 
= "yyyy年MM月dd日 hh点:mm分:ss秒";
        }
  SimpleDateFormat sdf 
= new SimpleDateFormat(format);
  
return sdf.format(date);
 }
 
public static void main(String[] args) throws Exception {
  
//当字符串转日期型的时候,format的格式,一定要和需要转成日期的字符串相匹配
  
//String dateString="2009-01-01",format="yyyy-MM-dd";
  String dateString="2009-01-01 01:01:02",format="yyyy-MM-dd hh:mm:ss";
     String result
=stringToDate(dateString, format).toString();
     System.out.println(
"字符转日期:"+result.toString());
     System.out.println(
"日期转字符串:"+dateToString(stringToDate(dateString, format),"yyyy年MM月dd日 hh点:mm分:ss秒"));
 }
}

 

 

 

posted @ 2010-05-27 00:22  wj-conquer  阅读(331)  评论(0编辑  收藏  举报