现在的位置: 首页 > 综合 > 正文

Java日期处理

2014年01月27日 ⁄ 综合 ⁄ 共 2878字 ⁄ 字号 评论关闭
package com.tlj.jdbc;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
/**
 * 日期处理专题
 * @author Administrator
 *
 */
public class TestDate {

	public static void main(String[] args) {
		   /*
		    * 1.获取当前时间
		    */
		   //获取1970年1月1日0时0分0秒至今的过去的毫秒数,一般用于统计时间长度
		   System.out.println(System.currentTimeMillis());
		   System.out.println(new Date().getTime());//此构造函数只适用于java.util中的Date
		   //获取当前的日期和时间(未格式化)
		   System.out.println(new Date());//Sun Dec 08 15:44:21 CST 2013
		   System.out.println(new Timestamp(System.currentTimeMillis()));//2013-12-08 15:44:21.884
		   /*
		    * 格式化显示日期和时间
		    */
		   System.out.println(new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date()));	//2013年12月08日 15:44:21
		   System.out.println(new SimpleDateFormat("yyyy-MM-dd HH点mm分ss秒").format(
				   new Timestamp(System.currentTimeMillis())));//2013-12-08 15点44分21秒
		   //取得int类型的日期和时间
		   Calendar calendar = Calendar.getInstance();
		   calendar.setTime(new Date());
		   System.out.println(calendar.get(Calendar.YEAR) + "年" + calendar.get(Calendar.MONTH) 
							   + "月" + calendar.get(Calendar.DAY_OF_WEEK) + "日 "
			                   + calendar.get(Calendar.HOUR_OF_DAY) + "点" + calendar.get(Calendar.MINUTE) 
			                   + "分" + calendar.get(Calendar.SECOND) + "秒");
		   /*
		    * 将字符串转化为日期和时间
		    */
		   String strTs = "2013-12-7 15:54:23.0";
		   System.out.println(Timestamp.valueOf(strTs));
		   
		   /*
		    * 显示不同时区的时间
		    */
		   Calendar cJapan = new GregorianCalendar(TimeZone.getTimeZone("Japan"));
		   System.out.println(cJapan.get(Calendar.HOUR_OF_DAY) + ":" + cJapan.get(Calendar.MINUTE) 
                               + ":" + cJapan.get(Calendar.SECOND));
		   
		   /*
		    * 处理数据库中的日期和时间
		    */
		
		   Connection conn = null;
		   Statement stmt = null;
		   ResultSet rs = null;
		   try{
			   Class.forName("com.mysql.jdbc.Driver");
			   conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs","root","root");
			   stmt = conn.createStatement();
			   String str = "select pdate from article";
			   SimpleDateFormat sdfd = new SimpleDateFormat("yyyy年MM月dd日");
			   SimpleDateFormat sdft = new SimpleDateFormat("HH点mm分ss秒");
			   SimpleDateFormat sdfts = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			   Calendar cal = Calendar.getInstance();
			   rs = stmt.executeQuery(str);
			   while(rs.next()){
				   //从数据库获得日期
				   Date date = rs.getDate("pdate");
				   //从数据库获得时间
				   Time time = rs.getTime("pdate");
				   //从数据库获得时间戳(日期+时间)
				   Timestamp ts = rs.getTimestamp("pdate");
				   //非格式化显示
				   System.out.println(date + " " + time);
				   System.out.println(ts);
				   //格式化显示日期和时间
				   System.out.println(sdfd.format(date) + " " + sdft.format(time)); 
				   System.out.println(sdfts.format(ts)); 	
				   
				   //给Calendar设置时间戳
				   cal.setTime(ts);
				   //通过Calendar可以获得int类型的年、月、日.
				   int year = cal.get(Calendar.YEAR);
				   int month = cal.get(Calendar.MONTH) + 1;
				   int day = cal.get(Calendar.DAY_OF_MONTH);
				   int hour = cal.get(Calendar.HOUR_OF_DAY);
				   int minute = cal.get(Calendar.MINUTE);
				   int second = cal.get(Calendar.SECOND);
				   System.out.println(year + "年" + month + "月" + day + "日 "
				                      + hour + "点" + minute + "分" + second + "秒");	
				      
			   }
			   
		   }catch(ClassNotFoundException e){
			   e.printStackTrace();
		   }catch(SQLException e){
			   e.printStackTrace();
		   }finally{
			   try{
				   if (null != rs)
				   {
					   rs.close();
					   rs = null;
				   }
				   if (null != stmt)
				   {
					   stmt.close();
					   stmt = null;
				   }
				   if (null != conn)
				   {
					   conn.close();
					   conn = null;
				   }

			   }catch(SQLException e){
				   e.printStackTrace();
			   }
		   }
		}
		
}

【上篇】
【下篇】

抱歉!评论已关闭.