java分割_java如何分割字符串
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.StringTokenizer;
public class $ {
public static void main(String[] args) {
String str = "2013-07-24 11:48:20";
System.out.println("第一种方法:针对字符串");
test1(str);
try {
System.out.println("第一种方法:针对时间");
test2(str);
} catch (ParseException e) {
e.printStackTrace();
}
}
private static void test1(String str) {
StringTokenizer st = new StringTokenizer(str, "- :");
List data = new ArrayList();
while (st.hasMoreElements()) {
data.add(st.nextToken());
}
System.err.println(data);
}
private static void test2(String str) throws ParseException {
Format f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = (Date) f.parseObject(str);
// 由于Date里面获取年月日的方法被@Deprecated了,所以使用Calendar
Calendar c = Calendar.getInstance();
c.setTime(d);
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH));// 月份从0开始
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));
}
}
结果:
第一种方法:针对字符串
[2013, 07, 24, 11, 48, 20]
第一种方法:针对时间
2013
6
24
11
48
20
import java.text.Format; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.StringTokenizer; public class $ { public static void main(String[] args) { String str = "2013-07-24 11:48:20"; System.out.println("第一种方法:针对字符串"); test1(str); try { System.out.println("第一种方法:针对时间"); test2(str); } catch (ParseException e) { e.printStackTrace(); } } private static void test1(String str) { StringTokenizer st = new StringTokenizer(str, "- :"); List data = new ArrayList(); while (st.hasMoreElements()) { data.add(st.nextToken()); } System.err.println(data); } private static void test2(String str) throws ParseException { Format f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d = (Date) f.parseObject(str); // 由于Date里面获取年月日的方法被@Deprecated了,所以使用Calendar Calendar c = Calendar.getInstance(); c.setTime(d); System.out.println(c.get(Calendar.YEAR)); System.out.println(c.get(Calendar.MONTH));// 月份从0开始 System.out.println(c.get(Calendar.DAY_OF_MONTH)); System.out.println(c.get(Calendar.HOUR)); System.out.println(c.get(Calendar.MINUTE)); System.out.println(c.get(Calendar.SECOND)); } } 结果: 第一种方法:针对字符串 [2013, 07, 24, 11, 48, 20] 第一种方法:针对时间 2013 6 24 11 48 20