我正在执行一个程序,以"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
这种格式存储当前时间和日期。我将它作为字符串存储在数据库中。当我收集数据时,我需要个人价值,如日,年,分,秒等。我怎么能这样做?
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String now = formatter.format(new Date());
谢谢,
答案 0 :(得分:26)
只需使用解析而不是格式:
String dateFromDB = "";
SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date yourDate = parser.parse(dateFromDB);
然后你可以使用java.util.Date&读取你想要的任何字段。 Calendar API:
Calendar calendar = Calendar.getInstance();
calendar.setTime(yourDate);
calendar.get(Calendar.DAY_OF_MONTH); //Day of the month :)
calendar.get(Calendar.SECOND); //number of seconds
//and so on
我希望它符合您的需求
答案 1 :(得分:14)
我建议您将数据库中的时间存储为“timeInMillis”。根据我的经验,它简化了代码,并允许您将时间值与彼此进行比较。
存储时间:
Calendar calendar = Calendar.getInstance(); // current time
long timeInMillis = calendar.getTimeInMillis();
mDb.saveTime (timeInMillis); // adjust this to work with your DB
要检索时间:
long timeInMillis = mDb.getTime();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis (timeInMillis);
int milliSeconds = calendar.get(MILLISECOND);
//etc
答案 2 :(得分:1)
有这些方法可用于获取日期的各个部分
getDate()
getMinutes()
getHours()
getSeconds()
getMonth()
getTime()
getTimezoneOffset()
getYear()
答案 3 :(得分:1)
尝试使用:int hour = Calendar.getInstance()。get(Calendar.HOUR_OF_DAY);
在这里,