[英]How do I modify my `@SQLUpdate` to convert a `Joda` `DateTime` object into an `h2`-readable timestamp?
[英]How do i add a Joda DateTime Object into my MSSQL database
所以我有一個mssql數據庫,其DateTime類型的DateObjectCreated列。 它將接受到表中的值的格式為2013-12-23 12:23:56.567。 但是,我的Java程序正在創建格式為2013-12-23T 12:23:56.567Z的joda DateTime對象。 這不會插入我的數據庫。 我需要將“ 2013-12-23T 12:23:56.567Z”轉換為2013-12-23 12:23:56.567或找到一種方法來允許我的數據庫表接受“ 2013-12-23T 12:23”: 56.567Z“格式,對此問題的任何幫助將不勝感激非常感謝Billy Controller
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String formattedDate = formatter.format(date);//this gives me the string as i need it
DateTime dt = new DateTime(formattedDate);//here it adds the 'T' and 'Z'
我試過了
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String formattedDate = formatter.format(date);//this gives me the string as i need it
Date dt = formatter.parse(formattedDate);//here it gives me the same as new Date()
2. 在此處輸入鏈接描述 TO_DATE函數可以在Oracle / PLSQL中使用。 例如:
TO_DATE('2003/07/09','yyyy / mm / dd')將返回日期值為2003年7月9日
TO_DATE('070903','MMDDYY')將返回2003年7月9日的日期值
TO_DATE('20020315','yyyymmdd')將返回日期值為2002年3月15日
您的數據庫列具有DateTime類型。 日期的文本表示形式與保留日期無關。 無論您使用的是哪種API(JDBC,JPA,Hibernate),都會有類似“ setDateTime(Date date)”的方法,該方法使您可以傳入java.util.Date或java.sql.Date或Java long。 。 您可以使用Joda DateTime對象的毫秒值來創建API所需的任何內容。
你工作太辛苦了。
toDate()
方法即可。 Ralf的答案在第一部分是正確的,但最終是錯誤的,因為您無需處理毫秒。 Joda-Time知道如何轉換為java.util.Date。
org.joda.time.DateTime now = new org.joda.time.DateTime();
java.util.Date nowAsJavaUtilDate = now.toDate();
順便說一句, java.sql.Date類只是java.util.Date的一個非常薄的子類。 所以不要讓那丟給你。
將來,這將變得更加容易。 Java 8在java.time。*包中引入了新的JSR 310類。 這些類取代了java.util.Date/Calendar的混亂局面。 它們受到Joda-Time的啟發,但已完全重新設計。 由於它們是Java的內置部分,因此期望JDBC和相關框架進行更新以直接處理這些新類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.