java - 如何在java中将字符串转换为日期对象

标签 java date simpledateformat

<分区>

我有一个这种格式的字符串 String oldstring = "2018 年 3 月 19 日 - 14:39";

如何将此字符串转换为 java 对象,以便从日期对象中获取时间和分钟数。

我试过这样,

import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;

public class DateEg {
    public static final void main(String[] args) {
        SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm");
    String oldstring = "Mar 19 2018 - 14:39";
        String time = localDateFormat.format(oldstring);
        System.out.println(time);
    }
}

但是出现错误,说 Cannot format given Object as a Date

Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
    at java.base/java.text.DateFormat.format(DateFormat.java:332)
    at java.base/java.text.Format.format(Format.java:158)
    at DateEg.main(DateEg.java:9)

java可以解析这种字符串格式吗?

最佳答案

使用您的代码使用正确的格式化程序来解析下面提到的字符串

    SimpleDateFormat localDateFormat = new SimpleDateFormat("MMM dd yyyy - HH:mm");
    String oldstring = "Mar 19 2018 - 14:39";
    Date date=localDateFormat.parse(oldstring);
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    int hours = calendar.get(Calendar.HOUR_OF_DAY);
    int minutes = calendar.get(Calendar.MINUTE);
    int seconds = calendar.get(Calendar.SECOND);

关于java - 如何在java中将字符串转换为日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49610244/

相关文章:

java - 从 JXDatePicker 获取时间

java - 日历 HOUR_OF_DAY 存在问题

java - 如何在 Liferay Dev Studio 中使用 Jax-rs 后端创建 Rest API?

java - 在实现 Comparable 接口(interface)的类中调用 collections.sort() 方法时引用的当前对象是什么?

javascript - 使用 Moment.js 或经典 JS 的日期格式,更改日期和月份的位置?

java - 日历显示结果,例如日期 1<= 结果<日期 2

java - 将任何文件类型解析为 XML

java - Eclipse 可以在不添加通配符的情况下自动完成导入语句吗?

php - 给定一个时间,如何找到一个月前的时间

独立于国际设置的 Excel DATEVALUE 函数