有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

date Java如何将时间文字转换为长值?

如果我有一个时间(字符串)以以下格式进入我的课堂

2013-01-25T07:31:51.00Z

我该如何把它变成一个长期的问题

我甚至不知道用什么格式来表示日期。还有人有线索吗

DateFormat formatter = new SimpleDateFormat(" MMM yyyy HH:mm:ss z");

期望的结果

long time = changeMe("2013-01-25T07:31:51.00Z");

System.out.print(time);

//012432423  <-- But only the actual long

共 (2) 个答案

  1. # 1 楼答案

    使用优秀的jodatime库:

    DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
    long time = fmt.parseDateTime("2013-01-25T07:31:51.00Z").getMillis();
    
  2. # 2 楼答案

    看起来你这里有格式。试试这个:

    import javax.xml.bind.DatatypeConverter;
    
    public long changeMe(String isoTimestamp) {
      final Calendar c = DatatypeConverter.parseDateTime(isoTimestamp);
      return c.getTimeInMillis();
    }
    

    顺便说一句,如果愿意的话,返回c.getTime()对象

    另见: