您的位置:首页 > 编程语言 > Java开发

Java学习笔记22(Date类、DateFormat类)

2018-01-11 12:17 337 查看
Date,时间和日期类,这里讲util包中的而不是sql包中的

Date:表示特定的时间瞬间,精确到毫秒(1000毫秒=1秒)

时间和日期的操作都基于毫秒值

时间原点:1970年1月1日,0时0分0秒,对应毫秒值为0

得到当前时间的毫秒值:

public class DateDemo {
public static void main(String[] args) {
long l = System.currentTimeMillis();
//获取当前日期的毫秒值
System.out.println(l);
//1515639742854
}
}


Date类的构造方法:

package demo;

import java.util.Date;

public class DateDemo {
public static void main(String[] args) {
function1();
function2();
}
public static void function1(){
Date date = new Date();
System.out.println(date);
//输出:Thu Jan 11 11:09:41 CST 2018
}
public static void function2(){
Date date = new Date(123456);
System.out.println(date);
//输出:Thu Jan 01 08:02:03 CST 1970
}
}


Date类的方法:

package demo;

import java.util.Date;

public class DateDemo {
public static void main(String[] args) {
function1();
function2();
}
public static void function1(){
//日期转毫秒
Date date = new Date();
long time = date.getTime();
System.out.println(time);
//1515642454307
}
public static void function2(){
//毫秒转日期
Date date = new Date();
System.out.println(date);
//Thu Jan 11 11:47:34 CST 2018

date.setTime(123123);
System.out.println(date);
//Thu Jan 01 08:02:03 CST 1970
}
}


我们发现Date类得到的日期格式不是我们所习惯的,

所以这里有一个DateFormat类提供格式化日期功能:

DateFormat是一个抽象类,主要使用它的子类SimpleDateFormat类

示例:

package demo;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

//对日期格式化
public class SimpleDateFormatDemo {
public static void main(String[] args) {
function();
}

public static void function(){
DateFormat date = new SimpleDateFormat("yyyy年MM月dd日HH点mm分钟ss秒");
String date1 = date.format(new Date());
System.out.println(date1);
//输出:2018年01月11日12点01分钟30秒
}
}


还可以将字符串转换成日期:

示例:

package demo;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

//对日期格式化
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
function();
}

public static void function() throws ParseException {
// 这里有异常,后面介绍
DateFormat date1 = new SimpleDateFormat("yyyy-MM-dd");
// 必须是标准格式的字符串
Date date2 = date1.parse("2017-11-25");
System.out.println(date2);
// 输出:Sat Nov 25 00:00:00 CST 2017
}
}


在实际开发中,不会让用户自行输入日期,因为存在格式错误的风险

通常做一个日期控件供用户选择,而不是让用户输入
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: