【问题标题】:Convert date and time to milliseconds in Android在Android中将日期和时间转换为毫秒
【发布时间】:2012-10-24 18:19:03
【问题描述】:

我有来自 DatePickerTimePicker日期时间。现在我想将选定的日期和时间更改为 毫秒。我该怎么做???

例如,我选择了 日期 2-5-2012 并且 时间20:43

现在我必须将此日期时间转换为 毫秒 类似于

DateTimeInMilliseconds = 1234567890

【问题讨论】:

  • 您的意思是从 1970 年 1 月 1 日 00:00 开始经过的毫秒数?

标签: android datepicker datetimepicker timepicker


【解决方案1】:

您可以使用 DatePicker 和 TimePicker 中的值创建一个 Calendar 对象:

Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), 
             timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
long startTime = calendar.getTimeInMillis();

【讨论】:

  • 我喜欢您的方法 (+1),但我个人尽可能避免使用 try-catch 块开销。 "d-M-yyyy" 是否适用于两位数日期,例如“12-10-2012”?
  • 但他只需要以毫秒为单位的时间,仅此而已。所以会有开销,因为首先你得到实际时间,然后你重置它,然后你才得到你的毫秒数,而有一个 Date 对象具有立即返回毫秒数的 getTime() 方法。
  • @Sam 是的。 d 接受“1-31”,dd 接受“01-31”,同样适用于MMM
  • @JonathanCruz 是的,那里有点浪费。但是你从哪里得到你的 Date 对象呢?由于我不知道的原因,没有直接的方法可以从 DatePicker 获取 Date 值。
  • @krunalshah 不要进行这种无用的编辑。添加TimePicker 并不会改善答案,只会添加与答案本身无关的信息。我已经回滚了你的编辑。
【解决方案2】:

将两个字符串合并在一起,并使用SimpleDateFormat 解析它们。

类似这样的:

String toParse = myDate + " " + myTime; // Results in "2-5-2012 20:43"
SimpleDateFormat formatter = new SimpleDateFormat("d-M-yyyy hh:mm"); // I assume d-M, you may refer to M-d for month-day instead.
Date date = formatter.parse(toParse); // You will need try/catch around this
long millis = date.getTime();

IDEOne 上的示例:http://ideone.com/nOJYQ4

【讨论】:

    【解决方案3】:

    您可以使用此代码

    String string_date = "12-December-2012";
    
    SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
    Date d = f.parse(string_date);
    long milliseconds = d.getTime();
    

    【讨论】:

      【解决方案4】:

      Date 类的getTime() 方法返回一个long,时间以毫秒为单位。

      http://developer.android.com/reference/java/util/Date.html

      所以如果你有一个 Date 对象,比如:

      Date date;
      

      你可以这样做:

      System.out.println(date.getTime());
      

      它会以毫秒为单位打印出时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-14
        • 1970-01-01
        相关资源
        最近更新 更多