我正在尝试将字符串转换为Java中的日期。我能够转换,但我没有得到所需的输出。
我正在使用该代码。
String="2016-02-20"
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date date12 = formatter.parse(date)
我得到以下输出:
Sat Feb 20 00:00:00 IST 2016
但是我想要与字符串相同的输出但只想要日期类型, 喜欢:
2016-02-20.
我该怎么办呢。
答案 0 :(得分:0)
如果您想要相同的输出,那么为什么要将它首先转换为Date
对象? Date
对象保存日期和时间。
来自日期的JAVADoc:
类Date表示特定的时刻,精确到毫秒。
你不能从中消除时间。
答案 1 :(得分:0)
您也可以使用SimpleDateFormat作为输出:
String onlyDate = formatter.format(date12);
如果您想将此日期保存到mysql,您还可以使用setDate
的方法PreparedStatement
。
答案 2 :(得分:0)
您应该使用Java 8及更高版本中内置的java.time框架。避免使用麻烦的旧java.util.Date/.Calendar类。
void merge_sort(int a[], int lo, int hi) {
if (low >= hi)
return; //Nothing to sort
int mid = (lo+hi)/2; //The guy between lo and hi.
merge_sort(a,lo, mid); //sort the left
merge_sort(a, mid, hi); //sort the right
practiceMerge(a, lo, mid, hi); //This merges the array
}
LocalDate
类表示没有时间或时区的仅限日期的值。
您的输入字符串已采用标准ISO 8601格式。默认情况下,此格式用于java.time。所以不需要指定解析模式。
void main() {
//Bla bla bla
merge_sort(songs, 89, 250); //Only sort some songs
}
LocalDate
实现在生成日期值的文本表示时使用相同的ISO 8601格式。
LocalDate localDate = LocalDate.parse( "2016-02-20" );
对于其他格式,请搜索StackOverflow,了解如何在java.time.format包中使用toString
。
要传输到数据库,请使用JDBC。希望JDBC驱动程序将更新为直接使用java.time类型。在此之前,转换为java.sql类型。
String output = localDate.toString(); // Emits: "2016-02-20"