【问题标题】:I tried to read and convert that type of date into a Date format so I can use calendar我尝试读取该类型的日期并将其转换为日期格式,以便我可以使用日历
【发布时间】:2016-06-28 05:15:48
【问题描述】:

我需要像日历一样从 16Mar2009(mon)、17Mar2009(tues)、18Mar2009(wed) 获取 EE(数字中的星期几)这种类型的日期,但它一直在崩溃。

public static Date [] ConvertingFormat(String [] data)
{
    Date [] inDate = new Date [data.length];
    SimpleDateFormat fromUser = new SimpleDateFormat("ddMMMyyyy(EE)");
    try
    {
        int i = data.length;
        for (int j=0;j<i;j++)
        {
            inDate [j] = fromUser.parse(data[j]);
        }
    }
    catch (ParseException e) {
        e.printStackTrace();
        System.out.print("Error");
        System.exit(1);
    }
    return inDate;
}

【问题讨论】:

  • 显示堆栈跟踪

标签: java date parsing calendar simpledateformat


【解决方案1】:

这部分将超出 inDate 数组的范围

int i = data.length;
for (int j=0;j<=i;j++)
{
    inDate [j] = fromUser.parse(data[j]);
}

如果 i == j 这仍然会循环,但 inDate 会太小。它必须是 j

【讨论】:

  • 刚刚意识到并在第一次尝试时确实有效,但在第二次通过 for 时崩溃
  • yei :P 少 2 个问题仍然没有运行 :P
  • 我在开始的句子中意识到是 17Mar2009(tues) insted fo (tue),我应该如何控制用户这样做
  • 这个问题在这里回答有点宽泛;)这完全取决于系统是如何设置的,但是给用户一个例子并告诉他们什么时候出错(如果你不能解析它在 SimpleDateFormat 中是错误的)可能会成功。
  • ty :P 问题解决了,现在用剩下的代码来解决 :P
猜你喜欢
  • 2015-01-20
  • 2017-09-06
  • 2021-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-13
  • 2022-08-09
相关资源
最近更新 更多