Java 如何将facebook响应日期转换为unix时间戳

Java 如何将facebook响应日期转换为unix时间戳,java,android,facebook-graph-api,datetime,simpledateformat,Java,Android,Facebook Graph Api,Datetime,Simpledateformat,我能够在我的android应用程序中获得facebook graph api的所有用户源。以下是updated\u time键中的日期字符串: 2014-12-14T18:23:17+0000 首先,我找不到这个字符串的格式。从谷歌我才知道,这可能是RFC2822日期格式 我想将此日期字符串转换为unix时间戳以获取新的用户源。如何将此字符串转换为unix时间戳 如果我尝试使用以下格式解析此字符串,则得到空日期: SimpleDateFormat dateFormat = new Simp

我能够在我的android应用程序中获得facebook graph api的所有用户源。以下是
updated\u time
键中的日期字符串:

  2014-12-14T18:23:17+0000
首先,我找不到这个字符串的格式。从谷歌我才知道,这可能是
RFC2822日期格式

我想将此日期字符串转换为unix时间戳以获取新的用户源。如何将此字符串转换为unix时间戳

如果我尝试使用以下格式解析此字符串,则得到空日期:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);

建议从日期中删除+0000,因为这是时区信息。然后分别处理时区,即作为一个整数,您可以通过乘以时区并将其转换为毫秒,将其与时间相加或相减,以毫秒为单位

public static long getDateInMillis(String srcDate) {
    try {
        SimpleDateFormat desiredFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

        long dateInMillis = 0;
        try {
            Date date = desiredFormat.parse(srcDate);
            dateInMillis = date.getTime();
            return dateInMillis;
        } catch (ParseException e) {
            e.printStackTrace();
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    return 0;
}

建议从日期中删除+0000,因为这是时区信息。然后分别处理时区,即作为一个整数,您可以通过乘以时区并将其转换为毫秒,将其与时间相加或相减,以毫秒为单位

public static long getDateInMillis(String srcDate) {
    try {
        SimpleDateFormat desiredFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

        long dateInMillis = 0;
        try {
            Date date = desiredFormat.parse(srcDate);
            dateInMillis = date.getTime();
            return dateInMillis;
        } catch (ParseException e) {
            e.printStackTrace();
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    return 0;
}

建议从日期中删除+0000,因为这是时区信息。然后分别处理时区,即作为一个整数,您可以通过乘以时区并将其转换为毫秒,将其与时间相加或相减,以毫秒为单位

public static long getDateInMillis(String srcDate) {
    try {
        SimpleDateFormat desiredFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

        long dateInMillis = 0;
        try {
            Date date = desiredFormat.parse(srcDate);
            dateInMillis = date.getTime();
            return dateInMillis;
        } catch (ParseException e) {
            e.printStackTrace();
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    return 0;
}

建议从日期中删除+0000,因为这是时区信息。然后分别处理时区,即作为一个整数,您可以通过乘以时区并将其转换为毫秒,将其与时间相加或相减,以毫秒为单位

public static long getDateInMillis(String srcDate) {
    try {
        SimpleDateFormat desiredFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

        long dateInMillis = 0;
        try {
            Date date = desiredFormat.parse(srcDate);
            dateInMillis = date.getTime();
            return dateInMillis;
        } catch (ParseException e) {
            e.printStackTrace();
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    return 0;
}

您的格式模式错误

String timeStamp = "2014-12-14T18:23:17+0000";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.ENGLISH);
System.out.println("Unix timestamp: " + dateFormat.parse(timeStamp).getTime());

您的格式模式错误

String timeStamp = "2014-12-14T18:23:17+0000";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.ENGLISH);
System.out.println("Unix timestamp: " + dateFormat.parse(timeStamp).getTime());

您的格式模式错误

String timeStamp = "2014-12-14T18:23:17+0000";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.ENGLISH);
System.out.println("Unix timestamp: " + dateFormat.parse(timeStamp).getTime());

您的格式模式错误

String timeStamp = "2014-12-14T18:23:17+0000";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.ENGLISH);
System.out.println("Unix timestamp: " + dateFormat.parse(timeStamp).getTime());