- 需求:获取当前的系统日期
* java.util.Date:表示特定的瞬间,精确到毫秒。
* 1seconds = 1000millseconds
* year:年
* month:月
* date:日
* day:星期
* hour:时
* minute:分
* second:秒
*
* 父类:Object
* 父接口:Serializable, Cloneable, Comparable
* 子类:java.sql.Date, java.sql.Time, java.sql.Timestamp
*
* 从以下版本开始: JDK1.0
* 年份:返回的年份+1900
* 月份:返回的值在 0 和 11 之间,值 0 表示 1 月。
*
* 使用场合:
*
import java.util.Date;
public class Demo {
public static void main(String[] args) {
//创建一个日期类 返回当前的系统日期 主板的日期
Date d = new Date();
System.out.println(d);
//分别获取年月日,时分秒
int year = d.getYear()+1900;
int month = d.getMonth()+1;
int date = d.getDate();
int day = d.getDay();
int hour = d.getHours();
int minute = d.getMinutes();
int second = d.getSeconds();
String sd = "";
//秒数是个位数,前面+0
if(second<10){
sd="0"+second;
}else{
sd = second+"";
}
String wk = "";
switch (day) {
case 0:wk = "天";break;
case 1:wk = "一";break;
case 2:wk = "二";break;
case 3:wk = "三";break;
case 4:wk = "四";break;
case 5:wk = "五";break;
case 6:wk = "六";break;
}
System.out.println("今天是公元"+year+"年"+month+"月"+date+"日"+
" 星期"+wk+" "+hour+":"+minute+":"+sd);
//获取从1970-1-1 00:00:00至今的一个毫秒值
System.out.println(d.getTime());
//创建一个自定义的日期对象
Date d2 = new Date(0);
System.out.println(d2);
//将日期类型转为当地的字符串日期类型
System.out.println(d.toLocaleString());
//将字符串日期类型转为long类型的毫秒数
String ss = "Wed Dec 19 15:17:22 CST 2018";
long ms = Date.parse(ss);
Date d3 = new Date(ms);
System.out.println(d3);
}
}
-
功能:如何将字符串的日期转为java.util.Date类型
-
1:日期的默认字符串格式 : 月 日期 年 (Dec 19 2018)
-
2:自定义字符串的日期格式 (1999-12-12,1999年12月12日,1999/12/12)
-
DateFormat:是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间
-
子类:SimpleDateFormat
-
同步:安全的,但是效率低
-
DateFormat的2个主要功能
-
1:将字符串转为Date
DateFormat df = new SimpleDateFormat(“yyyy-MM-dd”);
Date date = df.parse(“2018-12-19”); -
2:将Date转为字符串
DateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String ss = df.format(new Date());
import java.util.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class Demo {
static Student stu;
public static void main(String[] args) throws ParseException {
//1 创建一个日期格式转换类 按照yyyy-MM-dd来匹配
/* DateFormat df = new SimpleDateFormat("yyyy年MM月dd");
//2 从给定字符串的开始解析文本,以生成一个日期。
String ss = "2018年12月19";
Date date = df.parse(ss);
System.out.println(date);
*/
//1:创建一个日期格式转换类
/* DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String s = df.format(date);
System.out.println(s);*/
register();
showStuInfo();
}
/**
* 展示学生信息
*/
public static void showStuInfo(){
//DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
//String enterDate = df.format(stu.getEnterDate());
System.out.println("学号\t姓名\t性别\t年龄\t入学日期");
System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getSex()+"\t"+stu.getAge()+"\t"
+stu.getEnterDate().toLocaleString());
}
/**
* 注册学生
*/
public static void register(){
Scanner sc = new Scanner(System.in);
System.out.println("----注册学生信息-----");
System.out.println("请输入你的学号:");
String id = sc.nextLine();
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的性别:");
String sex = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = Integer.parseInt(sc.nextLine());
System.out.println("请输入你的入学日期: 按照如下格式:2018-12-12");
String d = sc.nextLine();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date enterdate = null;
try {
enterdate = df.parse(d);
} catch (ParseException e) {
e.printStackTrace();
}
stu = new Student(id, name, sex, age, enterdate);
System.out.println(stu);
}
}
import java.util.Date;
public class Student {
private String id;
private String name;
private String sex;
private Integer age;
private Date enterDate;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Date getEnterDate() {
return enterDate;
}
public void setEnterDate(Date enterDate) {
this.enterDate = enterDate;
}
public Student(String id, String name, String sex, Integer age, Date enterDate) {
super();
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
this.enterDate = enterDate;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age
+ ", enterDate=" + enterDate
+ "]";
}
}