在客户端使用HTML,在服务器端使用JAVA,我试图将两个文本输入转换为java中的 Date 对象。 我的第一个输入应该以格式 DD / MM / YYYY 保存日期 我的第二个应该有时间 HH:MM 格式化。
我尝试使用输入 type =“text”两者,但我无法在服务器端正确形成对象。
您能否为我提供一个简单的例子来做到这一点? 请忽略任何验证,当然您可以认为我的主要问题是解析本身。
答案 0 :(得分:2)
您可以使用DateFormat(即使是SimpleDateFormat)这样做
private static String DATE_PART = "dd/MM/yyyy";
private static String HOUR_PART = "HH:mm";
private static java.text.DateFormat FORMAT =
new java.text.SimpleDateFormat(DATE_PART + " " + HOUR_PART);
private static java.text.DateFormat HOUR_FORMAT =
new java.text.SimpleDateFormat(HOUR_PART);
private static java.text.DateFormat DATE_FORMAT =
new java.text.SimpleDateFormat(DATE_PART);
public static Date fromStrings(String date, String time) {
StringBuilder sb = new StringBuilder(date);
sb.append(" ").append(time);
try {
return FORMAT.parse(sb.toString());
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String date ="09/01/2014";
String time ="16:05";
java.util.Date dt = fromStrings(date, time);
System.out.println(dt);
System.out.println(DATE_FORMAT.format(dt));
System.out.println(HOUR_FORMAT.format(dt));
}
哪个输出
Thu Jan 09 09:28:00 EST 2014
09/01/2014
16:05
答案 1 :(得分:1)
String date = "dd/MM/yyyy"; // your date value from user input
String hour = "HH:mm"; // your hour value from user input
try {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
String tempDate = date + " " + hour;
Date result = dateFormat.parse(tempDate);
} catch (ParseException e) {
e.printStackTrace();
}
如果您愿意,可将其提取到方法中。