我试图以 yyyy-MM-dd HH:mm:ss 格式获取当天上午 6 点的日期,但它显示为:Wed Dec 20 06: 2017 年中部时间 00:00
这是我的代码:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd 06:00:00");
Date date0 = new Date();
String x = dateFormat.format(date0);
try{
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = formatter.parse(x);
}
catch (Exception e){}
最佳答案
java.util.Date
是自 Unix Epoch 以来的毫秒数的容器,它不维护任何类型的内部格式概念,相反,当您打印它时,它使用Date#toString
通常使用当前的Locale
来提供人类可读的值表示。
虽然我确信您可以继续使用 Date
来完成这项工作,但更简单的方法是利用更新的日期/时间 API,例如...
LocalDateTime now = LocalDateTime.now();
LocalDateTime then = now.withHour(6).withMinute(0).withSecond(0).withNano(0);
String formatted = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(then);
System.out.println(formatted);
对我来说,打印出 2017-12-21 06:00:00
关于java - 从日期中删除日期名称并将其设置为仅 'yyyy-MM-dd HH:mm:ss',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47914935/