java.text.SimpleDateFormat是一个以与语言环境相关的方式来格式化和分析日期的具体类,是抽象类java.text.DateFormat类的子类,SimpleDateFormat使得可以选择任何用户定义的日期-时间格式的模式,获取SimpleDateFormat的实例如下:
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
上面代码确立了转换的格式,yyyy是完整的西元年,MM是月份,dd是日期,HH:mm:ss分别是小时、分和秒。至于为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小时制,而hh是12小时制。
1.字符串转日期:
2002-10-8 15:30:22要把它转成日期,可以用 Date date=sdf.parse(“2002-10-8 15:30:22”);
2.日期转字符串:
假如把今天的日期转成字符串可用 String datestr=sdf.format(new Date());
这个字符串的内容便类似2002-10-08 14:55:38
透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2002年10月08日,可以这么写:
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy年MM月dd日”);
String dateStr=sdf.format(new Date());
dateStr便会依照我们设定的格式输出。
package aaaa;
//编写一个方法验证用户输入的日期格式是否正确,要求格式为:2006/12/12。
//方法的参数是要验证的日期字符串,如果格式正确返回true,否则返回false。
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class J验证日期格式 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入日期:");
String s=sc.nextLine();
//获取指定日期格式的SimpleFormat实例
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
boolean f=true;
try {
Date d=sdf.parse(s);
} catch (Exception e) {
f=false;
}
finally{
System.out.println(f);
}
}
}