java 使用值字符串创建日期对象

2022-09-01 16:20:34

我正在使用它来获取当前时间:

java.util.Calendar cal = java.util.Calendar.getInstance();
    System.out.println(new java.text.SimpleDateFormat("EEEE, dd/MM/yyyy/hh:mm:ss")
            .format(cal.getTime()));

我想把值(我打印它)放到一个日期对象中,我试过了:

Date currentDate = new Date(value);

但是eclipse告诉我,这个功能不好。

编辑是我使用 system.out.println 打印给您的值value


答案 1

每当您要将字符串转换为日期对象时,请使用
尝试使用SimpleDateFormat#parse

String dateInString = new java.text.SimpleDateFormat("EEEE, dd/MM/yyyy/hh:mm:ss")
        .format(cal.getTime())
SimpleDateFormat formatter = new SimpleDateFormat("EEEE, dd/MM/yyyy/hh:mm:ss");
Date parsedDate = formatter.parse(dateInString);

.另外,如果你想将a转换为,那么你应该使用函数。
现在,“您的要点”已弃用,现在不建议使用。现在,每当有人想要解析时,他/她都应该使用。DateStringSimpleDateFormat#formatnew Date(String)SimpleDateFormat#parse

请参阅官方文档,了解 SimpleDateFormat 选项中使用的更多日期和时间模式。


答案 2

使用 SimpleDateFormat 解析方法:

import java.text.DateFormat;
import java.text.SimpleDateFormat;

String inputString = "11-11-2012";
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Date inputDate = dateFormat.parse(inputString, dateFormat );

由于我们有带有LocalDate的Java 8,我建议接下来使用:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

String inputString = "11-11-2012";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate inputDate = LocalDate.parse(inputString,formatter);