字符串到日期转换android

时间:2011-12-28 11:04:51

标签: java android datetime date-format

我有一个Android应用程序,我想将我的字符串转换为日期数据类型。 我以这种格式(“12/30/2011”)通过日期选择器获取字符串。 我想以相同的格式将其转换为字符串。这是我的代码:

        Date dateObj = new Date();
        dateFormat = new SimpleDateFormat("MM/dd/yyyy");
        dateFormat.setLenient(false);
        dateObj = dateFormat.parse("12/30/2011");
        Log.v("",""+dateObj);

但我以这种形式获得价值:

Wed Dec 28 00:00:00 GMT + 05:00 2011

5 个答案:

答案 0 :(得分:3)

有帮助吗?

SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.format(new Date())

Please have a look at this

import java.text.SimpleDateFormat;
import java.util.Date;


public class DateIssue {
    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
        System.out.println(sdf.format(new Date()));
    }
}

输出:12/28/2011

取代

Log.v("",""+dateObj);

使用此

 Log.v("",""+sdf.format(new Date()));

您不应该打印原始日期对象,而是打印格式化日期对象。

答案 1 :(得分:1)

好像你做的一切都正确,只是日期对象总是存储这些值以保持所有日期对象的一致性。看看this

答案 2 :(得分:1)

Date dateObj = new Date();
dateFormat = new SimpleDateFormat("MM/dd/yyyy");
dateFormat.setLenient(false);
dateObj = dateFormat.parse("12/30/2011");
Log.v("", "" + dateFormat.format(dateObj));

试试这个。 dateFormat.format()应该可以解决您的问题。

答案 3 :(得分:0)

你错误地解析和格式化。

下面:

    Date dateObj = new Date();
    dateFormat = new SimpleDateFormat("MM/dd/yyyy");
    String dateAsString = dateFormat.format(dateObj);
    Log.v("",dateAsString);

另请注意,将对象与String连接始终使用对象的toString方法。对于Date对象,toString返回一个基本的默认格式,与您在上面声明的SimpleDateFormat无关。

答案 4 :(得分:-1)

date : String date
formatpattern : String formatPatten

SimpleDateFormat formatter = new SimpleDateFormat(formatpattern);
Date date = formatter.parse(date);