作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用此查询在 SQLite 数据库中创建了表:
create table table_name(
id integer primary key autoincrement,
name varchar(450) not null,
date date)
我通过此代码插入值(简化了问题):
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date tmpDate = dateFormat.parse("2014/01/12");
values.put(columnKey, tmpDate.toString());
db.insert("table_name", null, values);
再次从数据库中获取行“日期”的值后,我收到此错误:
java.text.ParseException: Unparseable date: "Sun Jan 12 00:00:00 EST 2014" (at offset 0)
如果我以 yyyy/MM/dd 格式保存日期,不应该以相同的格式存储吗?感谢您的建议。
编辑:我不知道为什么,但在此之后:
DatePicker tmpDatePicker = (DatePicker) dateDialog.findViewById(R.id.date_picker);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date tmpDate = dateForma.parse("2014-01.12");
tmpDate.toString();
输出为 2014 年美国东部时间 1 月 12 日星期日 00:00:00。我怎样才能改变它?
最佳答案
Your own answer是正确的。
但我必须说 java.util.Date、.Calendar 和 java.text.SimpleDateFormat 类是出了名的麻烦。大多数人很高兴避免使用它们,而是使用 Joda-Time (或者 Java 8 中的新 java.time 包,但 Android 中没有)。
Joda-Time 2.3 提供LocalDate
仅处理日期的类,没有时间部分或时区。
Joda-Time 默认使用 ISO 8601格式化日期时间值的字符串表示形式的标准方法,显然是您所寻求的。如果需要,Joda-Time 也可以使用本地化或自定义格式。
String input = "2014-01-12";
LocalDate localDate = new LocalDate( input );
String output = localDate.toString();
您可以根据其他类/框架的需要在 java.util.Date 之间进行转换。
java.util.Date date = localDate.toDate();
String dateAsString = date.toString();
运行时...
input: 2014-01-12
output: 2014-01-12
dateAsString: Sun Jan 12 00:00:00 PST 2014
关于java - 已编辑 : How can I change date format of Date object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045460/
我是一名优秀的程序员,十分优秀!