javasql日期
java.sql.Date date=new java.sql.Date(result.getTimestamp("time"));
這句沒錯, 看看是不是上面的程序有錯.
⑵ java日期類型
在java中,代表時間和日期的類型包括:java.util.Date和java.util.Calendar,此外,在JDBC API中還提供了3個擴展類,java.UtilDate類的子類:java.sql.Date,java.sql.Time,和java.sql.Timestamp,這三個類分別和標准SQL類型中的DATE,TIME,TIMESTAMP類型對應
在標準的SQL中,DATE類型表示日期,TIME類型表示時間,TIMESTAMP類型表示時間戳,同時包含日期和時間信息
因為java.util.Date是java.sql.Date,java.sql.Time,和java.sql.Timestamp的父類,所以java.util.Date可以對應標准SQL中的DATE,TIME,TIMESTAMP類型
所以在設置持久化類的類型是設置為java.util.Date
⑶ 如何在java程序中獲取java.sql.Date類型的當前系統時間
用System.currentTimeMillis()方法來實現
。
代碼如下:
java.sql.Date currentDate = new java.sql.Date(System.currentTimeMillis());說明:
返回long類型,一般用於獲取某個方法或其它的執行時間差,在開始前獲取一次,在結束時獲取一次,結束時間減去開始時間,得到執行時間。
⑷ java sql access 怎麼修改資料庫的日期時間
如果要改成 當天日期的話:
update 表名 set checktime=to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') where checktime=to_date('2010-10-11 19:14:43','yyyy-mm-dd hh24:mi:ss')
----如果要這樣改的話:2010-10-11 19:14:43 改成 2011-11-11 19:14:43 。就是只改月數的話,
----可以用add_months(date,n)函數
update 表名 set checktime= add_months(checktime,12) where checktime=to_date('2010-10-11 19:14:43','yyyy-mm-dd hh24:mi:ss')
⑸ 如何正確比較日期 java.sql.Date
java.sql.Date比較:
import java.sql.Date;
例如今天是2010-12-2
Date d1 = new Date(System.currentTimeMili());
Date d2 = new Date(System.currentTimeMili()+1);//比d1晚1毫秒
日期上,我們認為d1和d2是相等的
但是
System.out.println(d1.before(d2));
輸出結果是true;
其實我們希望看到的是這兩個對象在日期上是相等的。
因為我們只關心「日期」,而「2010-12-2」不等於「2010-12-2」
這個結果顯然是我們所不能接受的。
究其原因,是因為Date內封裝了一個精確到毫秒的表示時間的
private transient long fastTime;
而before和after的函數的實現如下,都是判斷fastTime的值,所以達不到我們只比較日期的要求。
public boolean before(Date when) {
return getMillisOf(this) < getMillisOf(when);
}
public boolean after(Date when) {
return getMillisOf(this) > getMillisOf(when);
}
把日期格式成標準的「年月日」,然後對格式化後的對象進行比較,得到比較的結果
本文給出一種「格式成標准化」的方式
Date d1_temp = java.sql.Date.valueOf(d1.toString());
Date d2_temp = java.sql.Date.valueOf(d2.toString());
System.out.prinltn(d1_temp.equals(d2_temp));//輸出結果是true;
System.out.prinltn(d1_temp.before(d2_temp));//輸出結果是false;
System.out.prinltn(d1_temp.after(d2_temp));//輸出結果是false;
需要邏輯的話,可以寫成
if(d1_temp.before(d2_temp)){
.........
}
⑹ java獲取昨天的日期和sql如何獲得昨天日期
JAVA
importjava.text.Format;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
publicclass${
publicstaticvoidmain(String[]args){
Formatf=newSimpleDateFormat("yyyy-MM-dd");
Calendarc=Calendar.getInstance();
System.out.println("今天:"+f.format(c.getTime()));
c.add(Calendar.DAY_OF_MONTH,-1);
System.out.println("昨天:"+f.format(c.getTime()));
}
}
SQL(MySQL):
selectdate_sub(current_date(),interval1day)
⑺ java.sql.Date類型時間獲取當前時間,精確到時分秒的方法
Date date = new Date();
DateFormat df1 = DateFormat.getDateInstance();//日期格式,精確到日
System.out.println(df1.format(date));
DateFormat df2 = DateFormat.getDateTimeInstance();//可以精確到時分秒
System.out.println(df2.format(date));
DateFormat df3 = DateFormat.getTimeInstance();//只顯示出時分秒
System.out.println(df3.format(date));
DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
System.out.println(df4.format(date));
DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
System.out.println(df5.format(date));
DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); System.out.println(df6.format(date));
DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); System.out.println(df7.format(date));
⑻ java.sql.Date,java.sql.Time和java.sql.Timestamp什麼區別
【父類】java.util.Date日期格式為:年月日時分秒
【子類】java.sql.Date日期格式為:年月日[只存儲日期數據不存儲時間數據]
【子類】java.sql.Time日期格式為:時分秒
【子類】java.sql.Timestamp日期格式為:年月日時分秒納秒(毫微秒)
針對不同的資料庫選用不同的日期類型
·Oracle的Date類型,只需要年月日,選擇使用java.sql.Date類型
·MS Sqlserver資料庫的DateTime類型,需要年月日時分秒,選擇java.sql.Timestamp類型
------------------------------------------
四種對象內部均使用系統時間作為標准數據
·系統時間:自 1970 年 1 月 1 日 00:00:00 GMT 以來的毫秒數,即格林尼治標准時間GMT) ·本地時間:根據時區不同列印出來的時間[當時區為GMT+0時,系統時間與本地時間相同]我們使用的是以本地時間為參考標準的
//java.util.Date 轉換成 java.sql.Date 格式
try{
SimpleDateFormat DateFormate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date date1 = DateFormate.parse("2011-5-31 14:40:50");
java.sql.Date sqlDate = new java.sql.Date(date1.getTime());
System.out.println(DateFormate.format(sqlDate));
}catch (Exception ex) {
System.out.println(ex.getMessage());
}
//java.sql.Date 轉換成 java.util.Date 格式
java.sql.Date sqlDate1=java.sql.Date.valueOf("2005-12-12");
java.util.Date utilDate1=new java.util.Date(sqlDate1.getTime());
System.out.println("java.sql.Date 轉換成 java.util.Date 格式:"+f.format(utilDate1));
//java.util.Date轉換java.sql.Timestamp
new java.sql.Timestamp(new java.util.Date().getTime());//此處IDE報錯
//java.util.Date轉換java.sql.Time
new java.sql.Time(new java.util.Date().getTime());
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
我們可以使用DateFormat處理字元串來定義時間日期的格式
註:String都是先轉換為java.util.Date,然後再轉換成所需的格式
⑼ Java sql截取時間的年月日 急急急
從資料庫中取出的日期格式是2009-7-2 10:00:00
可以用下面的函數轉化為util.Date格式,用util.Date可以分別取出年月日
* 日期所使用的字元串格式
*/
private static DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
/**
* 轉換日期到字元串
*
* @param date
* 日期
* @return 字元串
*/
public static String convertDateToString(Date date) {
return format.format(date);
}
/**
* 轉換字元串到日期
*
* @param str
* 字元串
* @return 日期
*/
public static Date convertStringToDate(String str) {
Date date;
try {
date = format.parse(str);
return date;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
⑽ 在java中怎麼往SQL資料庫里插入日期時分
/**
* Copyright 2014 (C) PANLAB ,All Rights Reserved.
*/
package com.lrlz.common.tool;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* <p>Title: 基礎類</p>
* <p>Description: 日期轉換</p>
* <p>Company: </p>
* @version 1.0
*/
public class DateUtils {
/**
* 日期轉化為字元串
* @param date 時間
* @return yyyy-MM-dd HH:mm:ss 格式化的時間字元串
*/
public static String dateToString(Date date) {
if(date==null) return "";
return FormatDate(date, "yyyy-MM-dd HH:mm:ss");
}
/**
* 日期轉化為字元串
* @param date 時間
* @return yyyy-MM-dd 格式化的時間字元串
*/
public static String dateToStringShort(Date date) {
if(date==null) return "";
return FormatDate(date, "yyyy-MM-dd");
}
/**
* 計算兩個日期差(毫秒)
* @param date1 時間1
* @param date2 時間2
* @return 相差毫秒數
*/
public static long diffTwoDate(Date date1, Date date2) {
long l1 = date1.getTime();
long l2 = date2.getTime();
return (l1 - l2);
}
/**
* 計算兩個日期差(毫秒)
* @param date1 時間1
* @param date2 時間2
* @return 相差毫秒數
*/
public static int diffMinterDate(Date date1, Date date2) {
if(date1==null||date2==null){
return 0;
}
long l1 = date1.getTime();
long l2 = date2.getTime();
int deff=Integer.parseInt(""+(l1-l2)/1000/60);
return deff;
}
/**
* 計算兩個日期差(天)
* @param date1 時間1
* @param date2 時間2
* @return 相差天數
*/
public static int diffTwoDateDay(Date date1, Date date2) {
long l1 = date1.getTime();
long l2 = date2.getTime();
int diff = Integer.parseInt(""+(l1 - l2)/3600/24/1000);
return diff;
}
/**
* 對日期進行格式化
* @param date 日期
* @param sf 日期格式
* @return 字元串
*/
public static String FormatDate(Date date, String sf) {
if(date==null) return "";
SimpleDateFormat dateformat = new SimpleDateFormat(sf);
return dateformat.format(date);
}
/**
* 取得當前系統日期
* @return yyyy-MM-dd
*/
public static String getCurrDate() {
Date date_time = new Date();
return FormatDate(date_time, "yyyy-MM-dd");
}
//取系統時間時一定要用這個方法,否則日期可能不動
public static Date getCurrDateTime(){
return new Date(System.currentTimeMillis());
}
/**
* 返回格式化時間
* @param fmt
* @return
*/
public static String getCurrDateTime(String fmt){
return FormatDate(new Date(System.currentTimeMillis()),fmt);
}
/**
* 取得當前系統時間
* @return yyyy-MM-dd HH:mm:ss
*/
public static String getCurrTime() {
Date date_time = new Date();
return FormatDate(date_time, "yyyy-MM-dd HH:mm:ss");
}
/**
* 取得日期的天份
* @param date 日期
* @return dd 天字元串
*/
public static String getDay(Date date) {
return FormatDate(date, "dd");
}
/**
* 取得日期的小時
* @param date 日期
* @return hh 小時字元串
*/
public static String getHour(Date date) {
return FormatDate(date, "HH");
}
/**
* 取得日期的分鍾
* @param date 時間
* @return mm 分鍾字元串
*/
public static String getMinute(Date date) {
return FormatDate(date, "mm");
}
/**
* 取得日期的月份
* @param date 日期
* @return mm 月份字元串
*/
public static String getMonth(Date date) {
return FormatDate(date, "MM");
}
public static int getMonth(Date start, Date end) {
if (start.after(end)) {
Date t = start;
start = end;
end = t;
}
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(start);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(end);
Calendar temp = Calendar.getInstance();
temp.setTime(end);
temp.add(Calendar.DATE, 1);
int year = endCalendar.get(Calendar.YEAR)
- startCalendar.get(Calendar.YEAR);
int month = endCalendar.get(Calendar.MONTH)
- startCalendar.get(Calendar.MONTH);
if ((startCalendar.get(Calendar.DATE) == 1)
&& (temp.get(Calendar.DATE) == 1)) {
return year * 12 + month + 1;
} else if ((startCalendar.get(Calendar.DATE) != 1)
&& (temp.get(Calendar.DATE) == 1)) {
return year * 12 + month;
} else if ((startCalendar.get(Calendar.DATE) == 1)
&& (temp.get(Calendar.DATE) != 1)) {
return year * 12 + month;
} else {
return (year * 12 + month - 1) < 0 ? 0 : (year * 12 + month);
}
}
/**
* 取得時間的秒
* @param date 時間
* @return ss 秒字元串
*/
public static String getSecond(Date date) {
return FormatDate(date, "ss");
}
/**
*根據年、月取得月末的日期
* @param year 年
* @parm month 月
* @return time 返回日期格式"yyyy-mm-dd"
*/
public static String getTime(String year,String month){
String time="";
int len=31;
int iYear=Integer.parseInt(year);
int iMonth=Integer.parseInt(month);
if(iMonth==4 || iMonth==6 || iMonth==9 || iMonth==11)
len=30;
if(iMonth==2){
len=28;
if((iYear%4==0 && iYear%100==0 && iYear%400==0) || (iYear%4==0 && iYear%100!=0)){
len=29;
}
}
time=year+"-"+month+"-"+String.valueOf(len);
return time;
}
/**
* 取得日期的年份
* @param date 日期
* @return yyyy 年份字元串
*/
public static String getYear(Date date) {
return FormatDate(date, "yyyy");
}
/**
* 字元串轉換為日期
* @param dateString yyyy-MM-dd HH:mm:ss
* @return 日期
*/
public static Date stringToDate(String dateString) {
if(dateString==null || dateString.trim().length()==0) return null;
String datestr = dateString.trim();
String sf = "yyyy-MM-dd HH:mm:ss";
Date dt = stringToDate(datestr, sf);
if(dt==null) dt = stringToDate(datestr, "yyyy-MM-dd");
if(dt==null) dt = stringToDate(datestr, "MM-dd HH:mm:ss");
if(dt==null) dt = stringToDate(datestr, "dd HH:mm:ss");
if(dt==null) dt = stringToDate(datestr, "yyyyMMdd");
return dt;
}
/** 字元串轉換為日期
* @param dateString 日期格式字元串
* @param sf 日期格式化定義
* @return 轉換後的日期
*/
public static Date stringToDate(String dateString, String sf) {
ParsePosition pos = new ParsePosition(0);
SimpleDateFormat sdf = new SimpleDateFormat(sf);
Date dt = sdf.parse(dateString, pos);
return dt;
}
/**
* 字元串轉換為日期
* @param dateString yyyy-MM-dd
* @return 日期
*/
public static Date stringToDateShort(String dateString) {
String sf = "yyyy-MM-dd";
Date dt = stringToDate(dateString, sf);
return dt;
}
public DateUtils() {
}
/**
* 獲取格式化容器
* @param fmt
* @return
*/
public static SimpleDateFormat getSimFormat(String fmt){
if(StringUtils.isBlank(fmt))fmt=DATE_YMDHMS;
SimpleDateFormat dateFormat = new SimpleDateFormat(fmt);
dateFormat.setLenient(false);
return dateFormat;
}
}