任何人都可以告诉我为什么我得到这个错误

时间:2017-07-11 06:00:19

标签: android

public static Long relativeTime(String dateToParse) {

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    Date d = null;
    try {
        d = sdf.parse(dateToParse);
    } catch (ParseException e) {
        e.printStackTrace();
    }

    SimpleDateFormat output = new SimpleDateFormat("d MMM yyyy  HH:mm");

        output.setTimeZone(TimeZone.getDefault());


    String formattedTime = output.format(d);
    Date gg = null;
    try {
        gg = output.parse(formattedTime);
    } catch (ParseException e) {
        e.printStackTrace();
    }

    return gg != null ? gg.getTime() : 0;
}

它给了我错误

  

java.lang.nullpointerexception尝试调用虚拟   方法long java.util.date.gettime对空对象的引用   java.util.calendar.settimecalendar.java1197   java.text.simpledateformat.formatimplsimpledateformat.java527   java.text.simpledateformat.formatsimpledateformat.java829   java.text.dateformat.formatdateformat.java314   co.helpdesk.faveo.pro.helper.relativetimehelper.java202   co.helpdesk.faveo.pro.frontend.adapters.ticketoverviewadapter.onbindviewholderticketoverviewadapter.java64   co.helpdesk.faveo.pro.frontend.adapters.ticketoverviewadapter.onbindviewholderticketoverviewadapter.java27   android.support.v7.widget.RecyclerView $ Adapter.onBindViewHolder(RecyclerView.java:6356)

2 个答案:

答案 0 :(得分:0)

catch语句写完此代码后,使用calender.getTime()来获取时间。

Calendar calendar = Calendar.getInstance();
calendar.setTime(gg);

return gg != null ? calendar.getTime() : 0;

希望这能解决你的问题。

答案 1 :(得分:0)

只需更改代码中的这一行:

而不是

Date d = null;

使用

Date d = new Date();

希望这有帮助!!!