我从MySql获取日期,格式为“yyyy-mm-dd hh:mm:ss”我只想分开日期和时间,分别显示日期和时间。像hh:mm的时间,日期就像yyyy-mm-dd。
答案 0 :(得分:8)
您还可以使用StringTokenizer类,它允许您将字符串分解为标记。您可以指定将分隔标记的字符。
示例:
String date = "yyyy-mm-dd hh:mm:ss";
StringTokenizer tk = new StringTokenizer(date);
String date = tk.nextToken(); // <--- yyyy-mm-dd
String time = tk.nextToken(); // <--- hh:mm:ss
答案 1 :(得分:2)
这取决于我将如何使用它,但您可以String.split(" ")
获取这两个部分或将其解析为日期/日历并提取日期和时间。
例如:
String d = "2013-05-11 13:59:50";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
try {
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(d));
Log.d("DEBUG", "year:" + c.get(Calendar.YEAR));
//...
} catch (ParseException e) {
}
同样,正如njzk2所说:其他方式是在您的表中存储一个长值,以便您可以将其直接提取到日期/日历
Calendar c = Calendar.getInstance();
c.setTimeInMillis(yourDbLongValue);
答案 2 :(得分:1)
请尝试以下代码。
String dateValue = "2013-05-11 13:59:50";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
Date date = null;
try {
date = sdf.parse(dateValue);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SimpleDateFormat timeFormatter = new SimpleDateFormat("hh:mm");
String sa = timeFormatter.format(date);
答案 3 :(得分:0)
如果MySQL的结果是可控的,你可以select DATE(my_date_time) FROM my_table;
这只会给你一个日期。如果没有,那么我想如果你把日期看作一个字符串,你可以将它串起来(拆分)并得到前10个字符。
答案 4 :(得分:0)
使用子字符串方法
startdate=start_time.substring(0, 10);
starttime=start_time.substring(11, 16);
答案 5 :(得分:0)
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String fullDate = format.format(mDate.getTime());
date = fullDate.substring(0, fullDate.indexOf(" ");
time = fullDate.substring(fullDate.indexOf(" " + 1);
答案 6 :(得分:0)
RoadBean roadBean = new RoadBean();
StringTokenizer tk = new StringTokenizer(jsonObject.getString(&#34; datetime&#34;));
String split_date = tk.nextToken();
String split_time = tk.nextToken();
roadBean.setDate(split_date);
roadBean.setTime(split_time);
mRoadBeanList.add(roadBean);
答案 7 :(得分:0)
拆分时间为小时,分钟和秒。
String timeSpent="12:30:10";
String[] seperatedTime= timeSpent.split(":");
int hours = Integer.parseInt(seperatedTime[0]);
int minutes = Integer.parseInt(seperatedTime[1]);
int seconds = Integer.parseInt(seperatedTime[2]);
int duration = 3600 * hours + 60 * minutes + seconds;