我正在研究java中的日期。真正的任务是在oracle数据库的两个日期之间搜索数据。我使用SimpleDateFormat作为dd-MMM-yyyy
使用java的默认日期格式(日期在oracle 10g xe中以相同格式显示)但是当我在netbeans中运行项目时,日期转换为YYYY-MM-DD
(我打印了在控制台中的日期)。这成了我搜索的问题,有人可以建议我解决这个问题吗?我还在下面粘贴了我的代码
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
java.util.Date from_date2 = (Date)sdf.parse(from_date1);
java.sql.Timestamp ts1 = new java.sql.Timestamp(from_date2.getTime());
String from_date = ts1.toString();
System.out.println(ts1.toString());
java.util.Date to_date2 = sdf.parse(to_date1);
java.sql.Timestamp ts2 = new java.sql.Timestamp(to_date2.getTime());
System.out.println(ts2.toString());
String to_date = ts2.toString();
答案 0 :(得分:0)
而不是
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
java.util.Date from_date2 = (Date)sdf.parse(from_date1);
java.sql.Timestamp ts1 = new java.sql.Timestamp(from_date2.getTime());
String from_date = ts1.toString();
System.out.println(ts1.toString());
使用您的DateFormat
格式化输出。 toString
的{{1}}使用了不同的默认格式:
Timestamp
答案 1 :(得分:0)
我不明白为什么你创建一个Date,然后你在Time中转换它来显示它。 只是做:
Date yourDate = ...
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
System.out.println(sdf.format(yourDate));
它会根据您的需要显示您的日期。 但是,你可能需要的是java.sql.Date?所以,请检查:How to convert java.util.Date to java.sql.Date?