gpt4 book ai didi

java - 将字符串转换为日历时出错?

转载 作者:行者123 更新时间:2023-12-02 05:10:48 24 4
gpt4 key购买 nike

我想以字符串形式获取客户端的到达日期并将其作为参数传递给 strToCal 方法,该方法返回具有该日期的 Calendar 对象,但它不起作用,id 得到解析异常错误:

static String pattern = "yyyy-MM-dd HH:mm:ss";
System.out.println("enter arrival date ("+ pattern +"):\n" );
c.setArrDate(strToCal(sc.next(),c));
System.out.println("enter departure date ("+ pattern +"):\n");
c.setResTilDate(strToCal(sc.next(),c));

static Calendar strToCal(String s, Client c) throws ParseException {
try{
DateFormat df = new SimpleDateFormat(pattern);
Calendar cal = Calendar.getInstance();
cal.setTime(df.parse(s));
return cal;
} catch(ParseException e){
System.out.println("somethings wrong");
return null;
}

最佳答案

sc.next() 替换为 sc.nextLine();

因为 sc.next() 将在第一个空格处分割,并且您的输入字符串将不具有正确的模式。

编辑我已经尝试过这段代码:

public class Test4 {
static String pattern = "yyyy-MM-dd HH:mm:ss";

public static void main(String[] args) {
Calendar c = Calendar.getInstance();
final Scanner input = new Scanner(System.in);
System.out.println("input date: ");
String a = input.nextLine();
c = strToCal(a);
System.out.println(c.getTime());
}


static Calendar strToCal(String s) {
try {
DateFormat df = new SimpleDateFormat(pattern);
Calendar cal = Calendar.getInstance();
cal.setTime(df.parse(s));
return cal;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
}

next():

input date:
2014-05-16 13:30:00
java.text.ParseException: Unparseable date: "2014-05-16"
at java.text.DateFormat.parse(Unknown Source)

nextLine():

input date:
2014-05-16 13:30:00
Fri May 16 13:30:00 EEST 2014

关于java - 将字符串转换为日历时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27354895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com