如何从日期时间字符串中分割日期和时间? [英] How to split date and time from a datetime string?
本文介绍了如何从日期时间字符串中分割日期和时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个像
8/29/2011 11:16:12 AM
.我想将该字符串拆分为单独的变量,例如
I have a string like
8/29/2011 11:16:12 AM
. I want to split that string into separate variables like
date = 8/29/2011
time = 11:16:12 AM
这可能吗?如果是这样,我该怎么办?
Is this possible? If so, how would I do it?
推荐答案
(请参见 Ole VV的回答下面提供了针对第一个版本的更现代的(Java 8)方法)
( See Answer by Ole V.V. below for a more modern (Java 8) approach for the first version)
一种方法是将其解析为日期对象,然后重新格式化:
One way to do is parse it to a date object and reformat it again:
try {
DateFormat f = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
Date d = f.parse("8/29/2011 11:16:12 AM");
DateFormat date = new SimpleDateFormat("MM/dd/yyyy");
DateFormat time = new SimpleDateFormat("hh:mm:ss a");
System.out.println("Date: " + date.format(d));
System.out.println("Time: " + time.format(d));
} catch (ParseException e) {
e.printStackTrace();
}
如果您只想将其切成日期时间片段,只需使用split即可获取片段
If you just want to slice it into date-time pieces, just use split to get pieces
String date = "8/29/2011 11:16:12 AM";
String[] parts = date.split(" ");
System.out.println("Date: " + parts[0]);
System.out.println("Time: " + parts[1] + " " + parts[2]);
或
String date = "8/29/2011 11:16:12 AM";
System.out.println("Date: " + date.substring(0, date.indexOf(' ')));
System.out.println("Time: " + date.substring(date.indexOf(' ') + 1));
这篇关于如何从日期时间字符串中分割日期和时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文