javaDate类+dateformat

  • 需求:获取当前的系统日期
    * 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
				+ "]";
	}
	
	

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值