我从 MySql 获取日期,格式为“yyyy-mm-dd hh:mm:ss” 我只想分割日期和时间,分别显示日期和时间。时间如 hh:mm,日期如 yyyy-mm-dd。
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
这取决于您将如何使用它,但您可以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);
试试下面的代码。
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);
如果 MySQL 的结果是可控的,你可以这样做select DATE(my_date_time) FROM my_table;
只会给你日期。如果不是,那么我猜如果您将日期视为一个字符串,您可以对其进行子串(拆分)并获取前 10 个字符。
使用子字符串方法
startdate=start_time.substring(0, 10);
starttime=start_time.substring(11, 16);
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);
将时间拆分为小时、分钟和秒。
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;
RoadBean roadBean = new RoadBean();
StringTokenizer tk = new StringTokenizer(jsonObject.getString("datetime"));
字符串 split_date = tk.nextToken();
字符串 split_time = tk.nextToken();
roadBean.setDate(split_date);
roadBean.setTime(split_time);
mRoadBeanList.add(roadBean);