【问题标题】:Convert date to milliseconds gives me wrong date java [duplicate]将日期转换为毫秒给我错误的日期 java [重复]
【发布时间】:2015-10-06 20:39:43
【问题描述】:

我想将以下日期时间转换为毫秒:

17/07/2015 13:30

为此,我使用了以下代码:

SimpleDateFormat f = new SimpleDateFormat("dd/mm/yyyy hh:mm");
Date d = null;
try {
    d = f.parse(date);
} catch (ParseException e) {
}
long milliseconds = d.getTime();

但是当我将此日期添加到 Android 中的日历时,日期似乎是 1 月 17 日而不是 7 月 17 日。

【问题讨论】:

标签: java android datetime converter simpledateformat


【解决方案1】:

应该是这样的:-

SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy HH:mm");MM 几个月而不是 mm 分钟和 HH 24 小时而不是 hh 上午/下午时间

【讨论】:

  • 我怀疑 OP 也想要 HH 而不是 hh。
  • 感谢@JonSkeet 先生 :)
【解决方案2】:

将您所在月份的 mm 更改为 MM

【讨论】:

    【解决方案3】:

    我发现你的日期格式有错字dd/mm/yyyy hh:mm 它应该是dd/MM/yyyy HH:mm 现在请查看我的代码和dateformate for android

    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.ENGLISH);
     String input = "17/07/2015 13:30";
     Date datestr = formatter.parse(input);
    
     **long date = datestr.getTime();** // what you want 
    
    // revers of your Date  
    
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(datestr.getTime());
    String output = formatter.format(calendar.getTime())
    

    【讨论】:

      猜你喜欢
      • 2020-09-08
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多