如何从android中的mysql分割日期和时间

时间:2013-04-16 08:45:30

标签: android datetime split

我从MySql获取日期,格式为“yyyy-mm-dd hh:mm:ss”我只想分开日期和时间,分别显示日期和时间。像hh:mm的时间,日期就像yyyy-mm-dd。

8 个答案:

答案 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;