java - 无法将时间戳格式设置为 YYYY-MM-DD HH :mm:ss in java

标签 java timestamp simpledateformat

我有一个时间戳 2018 年 12 月 13 日 19:37:18,我需要将其转换为 2018-12-13 19:37:18,我正在按照以下步骤操作,但它给出的时间戳不正确

     DateFormat outputFormat = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
     DateFormat inputFormat = new SimpleDateFormat("DD MMM YYYY HH:mm:ss");
     Date date = inputFormat.parse(updatedStartime);
     String NewStartTime = outputFormat.format(date); 

我得到的输出为 2018-Jan-01 19:37:18,在格式化输出之前是否需要将 MMM 转换为整数月份值?获得预期输出的正确步骤是什么?

最佳答案

D 是“一年中的某一天”;不是您实际需要的“一个月中的某一天”,所以d

Y 是“周年”;我猜你的意思是正常年份的y

所以总而言之:

    DateFormat outputFormat = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
    DateFormat inputFormat = new SimpleDateFormat("dd MMM yyyy HH:mm:ss", Locale.US);

有关更多详细信息,请参阅 javadoc https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

关于java - 无法将时间戳格式设置为 YYYY-MM-DD HH :mm:ss in java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53768994/

相关文章:

java - DISTINCT 不消除重复记录 - 为什么?

java - Spring 验证 : Multiple DTOs vs single DTO with multiple validators

通过 ObjectInputStream 读取对象时出现 java.io.EOFException

c++ - 给定一个微秒值,如何准确得到一个timeval结构?/*UPDATE GETTING NEGATIVE VALUE*/

java - 使用 yyyy-MM-dd hh :mm:ss format 解析的日期出现意外差异

java - 将字符串解析为 "yyyy"形式的日期

java - 如何使用 Eclipse WindowBuilder 正确实现 CardLayout?

java - 如何使用java从oracle数据库获取以毫秒为单位的日期/时间?

java - ResultSet 元数据返回时间戳而不是日期 Oracle JDBC

java - 安卓 : Error SimpleDateFormat Unknown pattern character 'u'