如何将字符串转换日期长millseconds(How to convert a string Dat

2019-06-18 04:38发布

我有一个字符串中的日期,像“12月-2012”。 我怎么能转换成毫秒(长)呢?

Answer 1:

使用的SimpleDateFormat

String string_date = "12-December-2012";

SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
try {
    Date d = f.parse(string_date);
    long milliseconds = d.getTime();
} catch (ParseException e) {
    e.printStackTrace();
}


Answer 2:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date date = (Date)formatter.parse("12-December-2012");
long mills = date.getTime();


Answer 3:

看看到SimpleDateFormat类,它可以分析一个String并返回DategetTime的方法Date类。



Answer 4:

  • 首先字符串转换为java.util.Date使用日期格式
  • 使用的getTime() ,以获得最新的毫秒计数


Answer 5:

它是关于时间,有人提供了现代化的回答这个问题。 2012年,当有人问,答案还贴出当时是很好的答案。 为什么答案公布在2016年也用那么长的过时类SimpleDateFormatDate是多了一份神秘的一点给我。 java.time ,现代Java的日期和时间API也被称为JSR-310,是这么多更好的工作。 您可以通过ThreeTenABP使用它,在Android上看到这样一个问题:如何在Android的项目中使用ThreeTenABP 。

在大多数情况下,我建议使用毫秒,因为在这一天在UTC开始的时代。 为了获得这些:

    DateTimeFormatter dateFormatter
            = DateTimeFormatter.ofPattern("d-MMMM-uuuu", Locale.ENGLISH);
    String stringDate = "12-December-2012";
    long millisecondsSinceEpoch = LocalDate.parse(stringDate, dateFormatter)
            .atStartOfDay(ZoneOffset.UTC)
            .toInstant()
            .toEpochMilli();
    System.out.println(millisecondsSinceEpoch);

这将打印:

1355270400000

如果您需要在一天中的某些特定时间段的开始时间,指定时间段,而不是UTC,例如:

            .atStartOfDay(ZoneId.of("Asia/Karachi"))

正如预期的那样这给了一个稍微不同的结果:

1355252400000

还有一点要注意,记得到现场提供给你DateTimeFormatter 。 我把月是英语,还有其他语言如该月被称为是相同的,所以请自己选择正确的语言环境。 如果你没有提供的语言环境,格式化将使用JVM的语言环境设置,这在许多情况下工作,当你用不同的区域设置运行在设备上的应用程序,然后意外失败的一天。



Answer 6:

你可以使用SimpleDateFormat的解析字符串的日期。



Answer 7:

使用SimpleDateFormat的,你可以很容易地实现它。

1)使用simpledateformatter首先字符串转换为java.Date。

2)使用getTime方法以获得从日期的毫秒的计数

 public class test {
      public static void main(String[] args) {
      String currentDate = "01-March-2016";
      SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
     Date parseDate = f.parse(currentDate);
     long milliseconds = parseDate.getTime();
  }
        }

更多的实例点击这里



Answer 8:

最简单的方法是使用使用日期()和的getTime日期()

    Date dte=new Date();
    long milliSeconds = dte.getTime();
    String strLong = Long.toString(milliSeconds);
    System.out.println(milliSeconds)


Answer 9:

试试下面的代码

        SimpleDateFormat f = new SimpleDateFormat("your_string_format", Locale.getDefault());
        Date d = null;
        try {
            d = f.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long timeInMillis = d.getTime();


文章来源: How to convert a string Date to long millseconds