在时间提取方面我用了三种方法,最开始使用的是正则表达式,很简洁,
之后使用的是Date类中的方法,但这种方法都已过时,
最后使用的是Calendar类的方法。、
我推荐使用正则表达式,简洁实用;
package cn.hanfeng.example13_6;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example2 {
public static void main(String args[]) throws ParseException{
//Date类中的方法
String time2="2016-04-07 16:35:36";SimpleDateFormat matter2= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date tr2=matter2.parse(time2);
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(tr2);
System.out.println("年:"+calendar2.get(Calendar.YEAR));
int month=calendar2.get(Calendar.MONTH)+1;
System.out.println("月:"+month);
System.out.println("日:"+calendar2.get(Calendar.DATE));
int hour=calendar2.get(Calendar.HOUR)+12;
System.out.println("时:"+hour);
System.out.println("分:"+calendar2.get(Calendar.MINUTE));
System.out.println("秒:"+calendar2.get(Calendar.SECOND));
// Calendar 类的方法
String time3="2016-04-07 16:35:36";
SimpleDateFormat matter3= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date tr3=matter3.parse(time3);
int year=tr3.getYear()+1900;
System.out.println("年:"+year);
int month2=tr3.getMonth()+1;
System.out.println("月:"+month2);
System.out.println("日:"+tr3.getDate());
System.out.println("时:"+tr3.getHours());
System.out.println("分:"+tr3.getMinutes());
System.out.println("秒:"+tr3.getSeconds());
//正则表达式
Pattern p=Pattern.compile("(\\d{4})-(\\d{1,2})-(\\d{1,2})\\s(\\d{1,2}):(\\d{1,2}):(\\d{1,2})");
Matcher m=p.matcher("2016-04-07 16:35:36");
if(m.find()){
System.out.println("日期:"+m.group());
System.out.println("年:"+m.group(1));
System.out.println("月:"+m.group(2));
System.out.println("日:"+m.group(3));
System.out.println("时:"+m.group(4));
System.out.println("分:"+m.group(5));
System.out.println("秒:"+m.group(6));
}
// 判断并输出该字符串表示的时间是该年度第几周、第几天。
String time="2016-04-07 16:35:36";
SimpleDateFormat matter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date tr=matter.parse(time);
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTime(tr);
System.out.println("这是"+calendar.get(Calendar.YEAR)+"中的第"+calendar.get(Calendar.WEEK_OF_YEAR)+"周");
System.out.println("这是"+calendar.get(Calendar.YEAR)+"中的第"+calendar.get(Calendar.DAY_OF_YEAR)+"天");
}
}