我有一个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
答案 0 :(得分:3)
有帮助吗?
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.format(new Date())
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);