从datestring中提取时间
如何格式化"2010-07-14 09:00:02"
datestring来描述"9:00"
?
使用SimpleDateFormat
在datestring和实际Date
对象之间进行转换。 以Date
为起点,您可以轻松地应用基于SimpleDateFormat
的javadoc中定义的各种模式的格式(单击Javadoc的蓝色代码链接)。
这是一个开球的例子:
String originalString = "2010-07-14 09:00:02"; Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(originalString); String newString = new SimpleDateFormat("H:mm").format(date); // 9:00
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2010-07-14 09:00:02"); String time = new SimpleDateFormat("H:mm").format(date);
http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
一个非常简单的方法就是直接使用Formatter
(见date时间转换 )或者更多的String.format
String.format("%tR", new Date())
我假设你的第一个string是一个实际的date对象,请纠正我,如果我错了。 如果是这样,请使用SimpleDateFormat对象: http : //download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html 。 格式string“h:mm”应该照顾它。
通过使用SimpleDateFormatter
如果你有整数的date,你可以像这样使用:
Date date = new Date(); date.setYear(2010); date.setMonth(07); date.setDate(14) date.setHours(9); date.setMinutes(0); date.setSeconds(0); String time = new SimpleDateFormat("HH:mm:ss").format(date);
当问题被问到时,其他答案是很好的答案。 时间在继续, Date
和SimpleDateFormat
被更新更好的类所替代,并停止使用。 在2017年,使用java.time
包中的类:
String timeString = LocalDateTime.parse(dateString, DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss")) .format(DateTimeFormatter.ofPattern("H:mm"));
结果是期望的, 9:00
。
let datestring = "2017-02-14 02:16:28" let formatter = DateFormatter() formatter.dateStyle = DateFormatter.Style.full formatter.timeStyle = DateFormatter.Style.full formatter.dateFormat = "yyyy-MM-dd hh:mm:ss" let date = formatter.date(from: datestring) let date2 = formatter.String(from: date)