当前位置: 首页 > 知识库问答 >
问题:

java 把 String 时间转 Date 为什么会报错?

邢臻
2024-09-29
    @Test
    void test() {
        String dateString = "April 25, 2024 20:28";
        SimpleDateFormat formatter = new SimpleDateFormat("MMMM dd, yyyy HH:mm");
        try {
            Date date = formatter.parse(dateString);
            System.out.println(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

错误 java.text.ParseException: Unparseable date: "April 25, 2024 20:28"
是不是我格式不对,应该怎么写

共有1个答案

燕琛
2024-09-29

你没有搞清楚自己的环境,SimpleDateFormatMMMM与区域有关系呢,我猜测你是中文的环境,你的操作系统的区域是上海,那么针对日期April 25, 2024 20:28格式化为MMMM dd, yyyy HH:mm格式,应该是九月 29, 2024 14:47

所以你的代码需要对格式化器SimpleDateFormat设置localeLocale.ENGLISH

String dateString = "April 25, 2024 20:28";
SimpleDateFormat formatter = new SimpleDateFormat("MMMM dd, yyyy HH:mm", Locale.ENGLISH);
try {
//  String format = formatter.format(new Date());
//  System.out.println(format);
    Date date = formatter.parse(dateString);
    System.out.println(date);
} catch (ParseException e) {
    e.printStackTrace();
}

这就涉及到国际化i18n的一些东西了

 类似资料:
  • 问题内容: 我是第一次遇到,很惊讶,因为Java已经具有一个非常强大的类,可以追加。 为什么要上第二堂课? 在哪里可以了解更多信息? 问题答案: 不允许附加。你在上调用的每个方法都会创建一个新对象并返回它。这是因为String它是不可变的-无法更改其内部状态。 另一方面是可变的。调用时,它会更改内部char数组,而不是创建新的字符串对象。 因此,拥有: 而不是,这将创建500个新的字符串对象。 请

  • 问题内容: 我必须根据日历的日期计算一些内容,但是我收到了完整的公历日历的字符串值。 例如,收到的I / P 我想提取日历的日期值以进行进一步的计算。 问题答案: 其他答案过于复杂或错误。以下将为您提供 自epoch以来 的 毫秒数 ,这是一个通用时间戳,您可以轻松将其转换为大多数时间表示形式类,包括或:

  • 问题内容: 我发现了一些奇怪的异常: 怎么可能呢?每个对象都可以转换为String,不是吗? 代码是: 谢谢。 问题答案: 为什么这不可能: 因为String和Integer不在同一对象层次结构中。 您尝试的转换仅在相同的层次结构中有效,例如 在这种情况下,或或将起作用。 因此,正如其他人已经提到的,要将整数转换为字符串,请使用: 或对于原始 要么 为对象。

  • 问题内容: 我想知道为什么在引用“ w”之后会引发错误。您不是通过说obj = w来创建另一个指向该w实例的指针吗?也就是说,为什么与说谢谢一样呢? 问题答案: 没有什么比早上引用JLS更重要。 JLS 6.3。宣言的范围: 块中的局部变量声明的范围(第14.4节)是该声明在其中出现的其余部分,从其自身的初始化程序开始,并在局部变量声明语句的右侧包括其他任何声明符。 和 JLS 14.2 方块:

  • 使用TomCat为网站提供服务。通常,当我更新网站时,Chrome会对缓存感到困惑,并继续使用缓存中的旧页面,即使新的页面可用。这似乎是基于一个更基本的问题,Chrome也没有从服务器获得最新的响应头,这似乎阻止了任何控制缓存的能力。 我选择了一个javascript文件,做了一个小的修改来更改文件系统中文件的日期。然后我用Mozilla和Chrome重新蚀刻了页面。Mozilla似乎运行正常:服

  • 问题内容: 我正在尝试将Json日期字符串转换为Java日期格式。但是,当涉及到“ return df.parse(tarih)”行时,它将给出错误。 JSON: Java代码: 当我调用此方法时,tarih参数为:/ Date(1323087840000 + 0200)/ 问题答案: 因为您对某个对象感兴趣,所以我认为JSON是Unix时间戳。 因此,我建议您使用Date(long毫秒)构造函数

  • Java中的String是什么,我应该在什么时候使用它,为什么?

  • 我有以下代码: DTO: 控制器 JSON请求: 如果我以yyyy-mm-dd的形式发送请求,将自动转换为日期对象。控制器中的输出:-dateOfBirth=2014年9月4日星期四05:30:00 但是当我以dd-mm-yyyy格式发送DateofBirth时,它不会自动将String转换为Date。所以我如何处理这种情况。 JSON请求: 输出:控制台中的任何输出都不会到达控制器。 我尝试过@