日期格式在Android中无法正常工作

时间:2015-04-28 10:11:37

标签: android date datetime simpledateformat

我正在处理Android应用程序,我正在保存并从ORMLITE获取日期。我使用SimpleDateFormat来格式化所需日期,但除了这种模式yyyy-MM-dd HH:mm之外,它没有格式化它。我在服务器上显示所需日期和代码的当前日期如下:

try {//EEEE , MMMM dd , yyyy hh:mm a
                SimpleDateFormat mDBSDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            if(cursor.getString(cursor.getColumnIndex("mLastMessageDate"))==null){//.equals("") ||cursor.getString(cursor.getColumnIndex("mLastMessageDate")).toString()==null){
                mTxtLastMessageDate.setText("");
                mTxtLastMessageLabel.setText("");
            }else{
                mTxtLastMessageDate.setText(mDBSDF.parse(cursor.getString(cursor.getColumnIndex("mLastMessageDate"))).toString());
            }
            }catch(Exception ex) {
                ex.printStackTrace();
            }

这是我的服务器日期:

2015-04-28 12:57:04.000297

使用上述格式后,我得到了这个:

Tue Apr 28 12:57:04 GMT+04:00 2015

我想要这样的模式:

Tuesday, April 28, 2015 1:00 pm

除了yyyy-MM-dd HH:mm格式以外,即使我正在改变" - "到","没有任何错误,它无法正常工作

4 个答案:

答案 0 :(得分:1)

SimpleDateFormat.parse(String)会返回Date而不是格式化的String

改为使用SimpleDateFormat.format(Date)

答案 1 :(得分:0)

尝试使用此格式设置日期和时间...

   localStorage.setItem(k, v);

答案 2 :(得分:0)

根据您的要求尝试这个。

输入日期为字符串

protected String dateFormat(String sqlDate) {
    String strDate = "";
    java.util.Date utilDate;

    SimpleDateFormat sqlDateFormat = new SimpleDateFormat(
    "yyyy-MM-dd HH:mm:ss");//input format
    try {
    Calendar calTempDate = Calendar.getInstance();
    calTempDate.setFirstDayOfWeek(Calendar.MONDAY);
    utilDate = sqlDateFormat.parse(sqlDate);
    calTempDate.setTime(utilDate);
    strDate = new SimpleDateFormat("EEEE MMMM dd,yyyy HH:mm a")
    .format(calTempDate.getTime());//output format
    } catch (Exception e) {
    e.printStackTrace();
    }
    return strDate;
    }

答案 3 :(得分:0)

您可以使用此代码找出解决方案。

SimpleDateFormat fromdateformate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date  date=fromdateformate.parse("2015-04-28 12:57:04.000297");
            SimpleDateFormat todtaeFormate=new SimpleDateFormat("EEEE MMMM yyyy hh:mm aa");
        String finaldate=   todtaeFormate.format(date);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }