我需要将当前时间戳和当前负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)
答案 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
。