将String转换为Date对象

时间:2014-02-04 21:57:41

标签: java android

我试图在Android中存储日期对象。我希望从EditText获取日期作为字符串,然后“转换”或者我应该将其存储为Date对象。这是我做了什么。

我有TextField

`EditText dateOfBirthTextField = (EditText) findViewById(R.id.DoBTextField);`

然后是一个String

`String dateOfBirth = dateOfBirthTextField.getText().toString();`

现在我有一个Student类,其dateOfBirth字段的类型为Date,方法

`setDateOfBirth(Date dob){
 this.dateOfBirth=dob;
 }

如何将dateOfBirth的值设置为dateOfBirthTextField输入的内容?

6 个答案:

答案 0 :(得分:3)

Date date = new SimpleDateFormat("yyyy/MM/dd").parse (yourStringDate);

然后致电

setDateOfBirth(date);

您可以为构造函数提供自定义格式。

看一下SimpleDateFormat javadoc:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

答案 1 :(得分:1)

this.dateOfBirth = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(dateOfBirthTextField);

答案 2 :(得分:1)

String dateOfBirth = dateOfBirthTextField.getText().toString();
SimpleDateFormat s=new SimpleDateFormat("MM/dd/yyyy"); // use your pattern here
Date d = s.parse(dateOfBirth);

答案 3 :(得分:1)

你可以这样做;

 String str = "26/08/1994";
 SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");                         
 Date date = formatter.parse(str);

请注意首都M。

答案 4 :(得分:1)

click here查看mkyong的例子

答案 5 :(得分:1)

我假设您要声明字符串dateOfBirthString和日期dateOfBirth。 您只需将字符串转换为SimpleDateFormat的日期。

它应该是这样的:

EditText dateOfBirthTextField = (EditText) findViewById(R.id.DoBTextField);
String dateOfBirthString = dateOfBirthTextField.getText().toString();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); //you have to enter the format of your string, here "dd/MM/yyyy" = "day/month/year"
Date dateOfBirth = sdt.parse(dateOfBirthString);
setDateOfBirth(dateOfBirth);