本文目錄一覽:
- 1、java.sql.Timestamp格式錯誤
- 2、java 怎麼得到timestamp的類型的當前時間
- 3、java.sql.Date,java.sql.Time和java.sql.Timestamp什麼區別
- 4、在java中怎麼往SQL數據庫里插入日期時分
- 5、java如何獲取當前時間 年月日 時分秒
java.sql.Timestamp格式錯誤
把Hibernate生成的實體類的Timestamp類型改成java中的Date類型就可以了。還有實體類對應的Hibernate的映射文件也該成date類型
java 怎麼得到timestamp的類型的當前時間
在java當中要獲得timestamp的類型的當前時間,需要按照不同的java類型進行正確的編碼,掌握相關的技巧來整理系統時間數據,並及時修補漏洞即可解決該問題,具體的操作方法可以吃參考下面的內容。
1、首先要明確java的類型分類,注意分析java中Date及Timestamp時間的相關內容,在 Java編程當中,主要分為JavaSQLDAO、java.util.date、java.sql.date、java.sql.timestamp 等幾種類別,按照對應的類別進行正確的編程,得到正確的系統時間數據。
2、以上類別各自進行對應的編碼,java.sql.Date是指只存儲日期數據不存儲時間數據,有可能會出現丟失時間數據的情況,可通過輸入代碼preparedStatement.setDate(1, new java.sql.Date(date.getTime()))的方式來解決。
3、對於java.util.date來說,可以輸入preparedStatement.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));的代碼。
4、若是想得到完整的數據,包括日期和時間,可以輸入java.util.Date d = resultSet.getTimestamp(1);的代碼。
5、當然,為了避免一些潛在Timestamp 問題 的話,可以輸入java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());的代碼,這樣處理將會更加合適且有效。
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數據庫里插入日期時分
/**
* 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;
/**
* pTitle: 基礎類/p
* pDescription: 日期轉換/p
* pCompany: /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;
}
}
java如何獲取當前時間 年月日 時分秒
java如何獲取當前時間以及格式化需要用到兩個類,如下圖:
1.獲取當前時間,並格式化為(年-月-日 時:分:秒)。
Date t = new Date();
SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
System.out.println(df.format(t));
打印輸出結果如下圖:
2.將java.util.Date轉換為java.sql.Date格式。
java.sql.Date sqld = new java.sql.Date(t.getTime());
System.out.println(sqld);
java.sql.Time sqlt = new java.sql.Time(t.getTime());
System.out.println(sqlt);
java.sql.Timestamp sqlts = new java.sql.Timestamp(t.getTime());
System.out.println(sqlts);
打印輸出結果如下圖:
“拓展資料——java”:
Java是一種廣泛使用的計算機編程語言,擁有跨平台、面向對象、泛型編程的特性,廣泛應用於企業級Web應用開發和移動應用開發。
Java編程語言的風格十分接近C++語言。繼承了C++語言面向對象技術的核心,捨棄了容易引起錯誤的指針,以引用取代;移除了C++中的運算符重載和多重繼承特性,用接口取代;增加垃圾回收器功能。
Java編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/156911.html