【问题标题】:Convert the time stamps into long value将时间戳转换为长值
【发布时间】:2016-07-20 05:55:42
【问题描述】:

我想将此时间戳转换为长值。

2016-07-13T21:11:45+00:00

我还是不知道上面的时间戳是什么格式,比如MM/dd/yyyy hh:mm:ss aaSimpleDateFormat一起使用。

【问题讨论】:

标签: android simpledateformat datetime-conversion


【解决方案1】:

试试这个代码

   String timeStr = "2016-11-01T09:45:00.000+02:00";
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
   Date dateObj= sdf.parse(timeStr);
   System.out.println(dateObj.getTime());

【讨论】:

    【解决方案2】:

    它将是 yyyy-MM-dd\'T\'HH:mm:ss,您可以通过以下方式将其转换为 long:

    public static long convertDateToMilliseconds(String fromFormat, String sourceDate) {
    
            SimpleDateFormat sdfFrom = new SimpleDateFormat(fromFormat);
            //SimpleDateFormat sdfTo = new SimpleDateFormat(toFormat);
    
            Date date = sdfFrom.parse(sourceDate);
            //String convertedDate = sdfTo.format(date);
    
            return date.getTime();
    
    }
    

    【讨论】:

      【解决方案3】:

      使用this link 查找要在哪个格式中创建简单日期格式器,然后使用该日期格式器创建日期对象。然后你可以像下面这样以毫秒为单位获得时间

      long millisecond = beginupd.getTime();
      

      【讨论】:

        【解决方案4】:

        SimpleDateFormat 几乎在其示例中说明了这一点。为此,您可以使用

        "yyyy-MM-dd'T'HH:mm:ssXXX"
        

        【讨论】:

        • java.lang.IllegalArgumentException: Unknown pattern character 'X'
        • @SonNguyenThanh 文档有时真的很可靠。我发现人们使用ZZZZZ 而不是XXX 来读取时区。也许这会像预期的那样工作。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-09
        • 2011-02-08
        • 1970-01-01
        • 2022-07-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多