简单的字符串剪切

asd3jsak 2008-06-27 04:18:19
从数据库中得到的是这个字符串是2008-10-10 12:11:00.0

我只想得到,小时和分钟,,怎么给他剪切得到


...全文
290 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
kittaaron 2008-06-28
  • 打赏
  • 举报
回复
确实.分多.直接SubString()截取卜是也可以么,或者DATE的Format也OK卜过没试过..
  • 打赏
  • 举报
回复
String str = "2008-10-10 12:11:00.0";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");

try
{
Date date = format.parse(str);
String hour = date.getHours() + "";
String minute =date.getMinutes() + "";
System.out.println(hour + ", " + minute);
}
catch(ParseException e)
{
goosman 2008-06-28
  • 打赏
  • 举报
回复
刚学完正则表达式,就用正则表达式解下吧.
正则表达式好处:比较通用.
其他解法:subString()方法; 只拿时间的数据,getHour(),getMinutes();

正则表达式: (\\d{4}-\\d{2}-\\d{2})\\s?(\\d{2}:\\d{2}):\\d{2}\\.\\d


String s = "2008-10-10 12:11:00.0";
Pattern p = Pattern.compile("(\\d{4}-\\d{2}-\\d{2})\\s?(\\d{2}:\\d{2}):\\d{2}\\.\\d");
Matcher m = p.matcher(s);
while(m.find()) {
System.out.println(m.group());//打印整个字符串
System.out.println(m.group(1));//打印第一个组内,即年月日
System.out.println(m.group(2));//打印小时:分钟
}
yuan_979039976 2008-06-28
  • 打赏
  • 举报
回复
既然知道就要本字符串的那几位好了
没有必要去使用Calender封装很麻烦
直接用subString就可以了。
String temp="2008-10-10 12:11:00.0"
temp.subString(15,20);
jsycbc 2008-06-28
  • 打赏
  • 举报
回复
实现的方式有多种
能实现就好了嘛
aaronshai 2008-06-28
  • 打赏
  • 举报
回复
我觉得用这个:
SimpleDateFormat sp = new SimpleDateFormat("HH:mm");
String str = sp.format(date);
sqq4290 2008-06-28
  • 打赏
  • 举报
回复
用空格和“:”做分割符号
得到:
"2008-10-10” "12" "11" "00.0"
放进数组里取2-3的元素,然后再格式化(你想要的显示格式)一遍就对了
Sou2012 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xtbzqw 的回复:]
你把这个字符串变成一个date类型的对象
然后用simpleFormat这个类对date类型的对象进行规则化,就可以得到你所要的结果啊
[/Quote]
yhtorange 2008-06-28
  • 打赏
  • 举报
回复
MySQL数据库:
这样写SQL语句
select DATE_FORMAT(now(),'%H:%i') as savedate;

结果13:45

拿分走人!!
jikun6666 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 i_saw_you 的回复:]
我接个分可以吗? 上面把答案都给了,我只有接分了。
[/Quote]
^_^周末快乐
亦风亦尘 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 i_saw_you 的回复:]
我接个分可以吗? 上面把答案都给了,我只有接分了。
[/Quote]
i_saw_you 2008-06-28
  • 打赏
  • 举报
回复
我接个分可以吗? 上面把答案都给了,我只有接分了。
likgui 2008-06-28
  • 打赏
  • 举报
回复
DateFormat format = new SimpleDateFormat("HH:mm")
码道功臣 2008-06-27
  • 打赏
  • 举报
回复
我也帮贴一下
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import java.util.GregorianCalendar;

public class MapIt {

public static void main(String[] args) {

String str = "2008-10-10 12:11:00.0";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");

try {
Calendar calendar = new GregorianCalendar();
calendar.setTime(format.parse(str));
String hour = calendar.get(Calendar.HOUR_OF_DAY) + "";
String minute = calendar.get(Calendar.MINUTE) + "";
System.out.println(hour + ", " + minute);
} catch (ParseException e) {
e.printStackTrace();
}

try {
Date date = format.parse(str);
String hour = date.getHours() + "";
String minute = date.getMinutes() + "";
System.out.println(hour + ", " + minute);
} catch (ParseException e) {
e.printStackTrace();
}

}
}
lord_is_layuping 2008-06-27
  • 打赏
  • 举报
回复
苹果厉害啊,我贴一下代码

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import java.util.GregorianCalendar;

public class MapIt {

public static void main(String[] args) {

String str = "2008-10-10 12:11:00.0";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");

try {
Calendar calendar = new GregorianCalendar();
calendar.setTime(format.parse(str));
String hour = calendar.get(Calendar.HOUR_OF_DAY) + "";
String minute = calendar.get(Calendar.MINUTE) + "";
System.out.println(hour + ", " + minute);
} catch (ParseException e) {
e.printStackTrace();
}

try {
Date date = format.parse(str);
String hour = date.getHours() + "";
String minute = date.getMinutes() + "";
System.out.println(hour + ", " + minute);
} catch (ParseException e) {
e.printStackTrace();
}

}
}

7xin 2008-06-27
  • 打赏
  • 举报
回复
DATE_FORMAT(um_savedate,'%H:%i') as savedate

这个是小时和分钟...
7xin 2008-06-27
  • 打赏
  • 举报
回复
mysql

DATE_FORMAT(um_savedate,'%Y-%m-%d %H:%i') as savedate
craky 2008-06-27
  • 打赏
  • 举报
回复
格式化还是用这个吧,刚才帖的那个看着不顺眼


String str = "2008-10-10 12:11:00.0";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");

try
{
Calendar calendar = new GregorianCalendar();
calendar.setTime(format.parse(str));
String hour = calendar.get(Calendar.HOUR_OF_DAY) + "";
String minute = calendar.get(Calendar.MINUTE) + "";
System.out.println(hour + ", " + minute);
}
catch(ParseException e)
{
e.printStackTrace();
}
hoszone 2008-06-27
  • 打赏
  • 举报
回复
楼上说的差不多了,可以格式化,也可以自己截取
我不是大明 2008-06-27
  • 打赏
  • 举报
回复
上面不少方法是可以的,但我认为你应该用下面的方法来做

还有你可以使用
PreparedStatement select = connection.createPreparedStatement(sql)

...
set condition

ResultSet rs = select.executeQuery();


if (rs.next()) {
Date date = rs.getDate("column_name");
//这样你将得到 Date,想要取时间分钟会了吧
}
加载更多回复(14)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧