我正在使用ExtendedCalendarView库来存储有关要加载到日历视图中的事件的一些信息。
正如您从文档中看到的那样,列startDate
endDate
start
和end
的数据类型为INTEGER
现在,我的事件数据从我的客户提供的CSV文件下载并自行更新。所有数据都是String
类型,因此一个例子是“26/04/2014”。
如何修改/转换要插入到我的SQLite数据库中的原始String
值,以使其被接受为适当的数据类型?请参阅下面的当前转换代码和我得到的错误。
public static int convertDateString(String dateString) throws ParseException {
dateString = dateString.replace("/", "-");
DateFormat df = new SimpleDateFormat("dd-MM-yy");
Date date = df.parse(dateString); //TURN STRING INTO DATE OBJECT
String s = df.format(date);
int result = Integer.valueOf(s);
return result;
}
产生错误:
03-24 19:13:38.028: E/AndroidRuntime(10279): Caused by: java.lang.NumberFormatException: Invalid int: "26.04.14"
03-24 19:13:38.028: E/AndroidRuntime(10279): at java.lang.Integer.invalidInt(Integer.java:138)
03-24 19:13:38.028: E/AndroidRuntime(10279): at java.lang.Integer.parse(Integer.java:375)
03-24 19:13:38.028: E/AndroidRuntime(10279): at java.lang.Integer.parseInt(Integer.java:366)
03-24 19:13:38.028: E/AndroidRuntime(10279): at java.lang.Integer.parseInt(Integer.java:332)
03-24 19:13:38.028: E/AndroidRuntime(10279): at java.lang.Integer.valueOf(Integer.java:490)
03-24 19:13:38.028: E/AndroidRuntime(10279): at uk.ac.aber.dwd.CeredigionTourism.CalendarActivity.convertDateString(CalendarActivity.java:160)
非常感谢所提供的任何帮助。
答案 0 :(得分:1)
似乎ExtendedCalendarView期望自纪元以来的日期(以毫秒为单位)。 尝试:
return date.getTime();
答案 1 :(得分:0)
您可以使用以下int
将日期存储为date.getTime();
。
使用Date date = new Date(storedTime);