我试图在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
输入的内容?
答案 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);