如何将日期格式的字符串时间戳转换为日期?

时间:2020-07-24 06:54:26

标签: java date

我需要将当前时间戳和当前负1分钟时间戳转换为给定格式。我能够转换所需的格式。但是它以String形式返回。

我需要格式化的输出为日期而不是字符串。

public static void main(String[] args) throws ParseException
{
    SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:00");
    long now = System.currentTimeMillis();
    String toTimeStamp = dateFormatter.format(now);
    long nowMinus1Minutes = now - TimeUnit.MINUTES.toMillis(1);
    String fromTimeStamp = dateFormatter.format(nowMinus1Minutes);
    System.out.println(fromTimeStamp);
    System.out.println(toTimeStamp);

    // Tried with parse
    Date fromDate = dateFormatter.parse(fromTimeStamp);
    Date toDate = dateFormatter.parse(toTimeStamp);

    System.out.println(fromDate);
    System.out.println(toDate);

}

Output:(String)

2020-07-24 12:13:00 
2020-07-24 12:12:00

Output: Pose Parsed the string as Date

Fri Jul 24 12:16:00 IST 2020
Fri Jul 24 12:17:00 IST 2020

预期产量:

2020-07-24 12:13:00 (As Date Object)
2020-07-24 12:12:00 (As Date Object)

3 个答案:

答案 0 :(得分:2)

不可能。最近了解了。关闭这个。

答案 1 :(得分:1)

一旦将String转换为Date(日期),即使用的初始格式,无论丢失了什么。

如果要以“ yyyy-MM-dd HH:mm:00”显示数据,请再次使用格式化程序,否则Date类将保持其默认格式:

System.out.println(formatter.format(fromDate));
System.out.println(formatter.format(toDate));

答案 2 :(得分:1)

如果您需要两个Date-Object,可以这样做:

    OffsetDateTime offsetDateTime1 = OffsetDateTime.now();
    OffsetDateTime offsetDateTime2 = offsetDateTime1.minusMinutes(1);

    System.out.println(Date.from(offsetDateTime1.toInstant()));
    System.out.println(Date.from(offsetDateTime2.toInstant()));

如果需要以其他格式打印时间戳,则可以随后在SimpleDateFormat-Objects上使用Date