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.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秒"));
}
}