【问题标题】:Converting date to long in Java在Java中将日期转换为长
【发布时间】:2014-03-28 15:53:33
【问题描述】:

我有以下字符串02/11/2012 23:11

有什么方法可以将其转换为long 021120122311l

我正在尝试根据对象的创建日期将对象映射到数组中的特定位置。

【问题讨论】:

  • 注意 a 改变了这个问题的标题。将日期表示为毫秒以来的纪元需要 long 原语,而不是 int

标签: java arrays date type-conversion


【解决方案1】:

您可以使用 SimpleDateFormat 将其生成为不带任何符号的字符串,然后使用 Long 类解析 long 值

    SimpleDateFormat s1 = new SimpleDateFormat("dd/MM/yyyy HH:mm");
    SimpleDateFormat s2 = new SimpleDateFormat("ddMMyyyyHHmm");
    Date d = s1.parse("02/11/2012 23:11");
    String s3 = s2.format(d);
    System.out.println(s3);
    long l = Long.parseLong(s3);
    System.out.println(l);

【讨论】:

  • 我想你想要HH 而不是hh
  • 这个答案忽略了时区的问题。如果所有日期时间值都来自同一时区,则此代码有效。
  • @BasilBourque 是真的
【解决方案2】:

你可以试试这个

  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy hh:mm");

    Date inputDate;
    try {
        inputDate = simpleDateFormat.parse("02/11/2012 23:11");
        System.out.println(inputDate.getTime());
    } catch (ParseException e) {
        e.printStackTrace();
    }

输出:

1351878060000

【讨论】:

    【解决方案3】:

    试试这个,

            String dateValue = "02/11/2012 23:11";
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
            Date date = simpleDateFormat.parse(dateValue);
            simpleDateFormat = new SimpleDateFormat("ddMMyyyyHHmm");
            String value = simpleDateFormat.format(date);
            Long result = Long.parseLong(value);
            System.out.println("Result : "+result);
    

    【讨论】:

      【解决方案4】:

      时区对于将字符串解析为日期时间值至关重要,除非您绝对确定所有字符串都代表发生在同一时区的日期时间。

      Joda-Time 使这项工作变得更加容易。

      DateTimeFormatter formatter = DateTimeFormat.forPattern( "dd/MM/yyyy hh:mm" );
      
      DateTimeZone timeZone = DateTimeZone.forID( "Europe/Paris" );
      DateTime dateTime = formatter.withZone( timeZone ).parseDateTime( myString );
      
      long millisecondsSinceEpoch = dateTime.getMillis();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-07
        • 1970-01-01
        相关资源
        最近更新 更多