日期和时间格式错误

时间:2016-08-05 09:34:37

标签: java date simpledateformat

我有约会时间" 2016-08-05 14:46:53 +05:30"和 我使用的日期和时间格式为" yyyy-MM-DD HH:mm:ss +05:30" 问题在于,当我解析这个日期时,我得到输出" Tue Jan 05 14:46:53 GMT + 05:30 2016" 我不知道'得到什么问题。 我使用的代码发布在下面。

public class DateFormater {
private static String DATE_TIME_FORMAT = "yyyy-MM-DD HH:mm:ss +05:30";
private static String TAG = DateFormater.class.getSimpleName();
public static Date getDate(String s) {
    //Input s = 2016-08-05 14:46:53 +05:30
    Date date = null;
    try {
        SimpleDateFormat dateFormat=new SimpleDateFormat(DATE_TIME_FORMAT);
        date=dateFormat.parse(s);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return date;
}
public static String getCurrentDateString(Date date) {
    DateFormat dateFormat=SimpleDateFormat.getDateInstance(DateFormat.MEDIUM);
    Log.i(TAG, "getCurrentDateString: "+dateFormat.format(date));
    return dateFormat.format(date);
}
public static String getCurrentTimeString(Date date) {
    DateFormat dateFormat=SimpleDateFormat.getTimeInstance(DateFormat.SHORT);
    return dateFormat.format(date);//Tue Jan 05 14:46:53 GMT+05:30 2016
}}

1 个答案:

答案 0 :(得分:0)

您的日期格式存在问题。

public class DateFormater {
    private static String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss +05:30";
    private static String TAG = DateFormater.class.getSimpleName();

    public static Date getDate(String s) {
        // Input s = 2016-08-05 14:46:53 +05:30
        Date date = null;
        try {
            SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_TIME_FORMAT);
            date = dateFormat.parse(s);
            System.out.println(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    public static String getCurrentDateString(Date date) {
        DateFormat dateFormat = SimpleDateFormat
                .getDateInstance(DateFormat.MEDIUM);
        return dateFormat.format(date);
    }

    public static String getCurrentTimeString(Date date) {
        DateFormat dateFormat = SimpleDateFormat
                .getTimeInstance(DateFormat.SHORT);
        return dateFormat.format(date);// Tue Jan 05 14:46:53 GMT+05:30 2016
    }       
}