Date、SimpleDateFormat和Calendar的基本使用-创新互联

1、Date类

1.1java.util.Date类表示特定的水煎,精确的毫秒

10年建站经验, 网站建设、网站设计客户的见证与正确选择。成都创新互联公司提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。

1.2Date 类提供两个构造函数来实例化 Date 对象。 

public Date(): 分配Date对象并初始化此对象,以表示分配它的事件(精确到毫秒)。

public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为"历          元  (epoch)",即1970年1月1日00:00:00 GMT)以来的指定毫秒数

Date date1 = new Date();    // 调用无参数构造函数
System.out.println(date1.toString());    // 输出:Wed May 18 21:24:40 CST 2016
Date date2 = new Date(60000);    // 调用含有一个long类型参数的构造函数
System.out.println(date2);    // 输出:Thu Jan 0108:01:00 CST 1970

2、DateFormat类

2.1java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。

  • 格式化:按照指定的格式,从Date对象转换为String对象
  • 解析:按照指定的格式,从String对象转换为Date对象。

2.2构造方法
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.simpleDateForma,这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为:

  • public SimpleDateFormat(string pattern): 用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。参数pattern是一个字符串,代表日期时间的自定义格式。

格式规则

常用的格式规则为:

标识字母(区分大小写)含义
y
M
d
H
m
S
package com.zwwhnly.springbootdemo;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
 
    public static void main(String[] args) {
 
        Date currentTime = new Date();
 
        System.out.println(currentTime);    // Mon Feb 18 13:53:50 CST 2019
 
        SimpleDateFormat s1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
 
        SimpleDateFormat s2 = new SimpleDateFormat("yyyy-MM-dd");
 
        SimpleDateFormat s3 = new SimpleDateFormat("yyyy/MM/dd");
 
        System.out.println(s1.format(currentTime));  // 输出2019-02-18 13:53:50.629
 
        System.out.println(s2.format(currentTime));  // 输出2019-02-18
 
        System.out.println(s3.format(currentTime));  // 输出2019/02/18
 
    }
 
}

日期和字符串之间如何转换

Date date=new Date();
SimpleDateFormat sdf=new SimpleDateFormat( pattem: "yyyy-MM-dd HH:mm:ss");
//实例化日期格式化类,指定格式化的格式样式
//日期格式化成李符串
String format = sdf.format(date);
System.out.printin(format);
//字符串解析成日期
String time="2000-10-15 08:10:20";
Date date2=sdf.parse(time);
System.out.println(date2);

3、Calendar类

Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

3.1、构造方法

  • protected Calendar() :由于修饰符是protected,所以无法直接创建该对象。需要通过别的途径生成该对象。
  • Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象。
package com.hp.date;
 
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
public class CalendarDemo{
    public static void main(String[] args) throws Exception {
        //获取获取系统的当前日历对象
        Calendar instance = Calendar.getInstance();
 
        //1、获取今天是周几
        int weekDay = instance.get(Calendar.DAY_OF_WEEK);
        System.out.println("今天是周:" + (weekDay - 1));
 
        //2、获取系统当前年
        int year = instance.get(Calendar.YEAR);
        System.out.println("今年是:" + year + "年");
 
        //3、获取系统当前月
        int month = instance.get(Calendar.MONTH);
        System.out.println("本月是:" + (month + 1) + "月");
 
        //4、获取系统当前日
        int day = instance.get(Calendar.DATE);
        System.out.println("今天是" + day + "号");
 
        //5、获取上午跟下午
        int am_pm = instance.get(Calendar.AM_PM);
        if (am_pm == 0)
            System.out.println("是上午");
        else
            System.out.println("是下午");
 
        //6、获取当前的系统时间[date-->String]的过程
        Date time = instance.getTime();//获取的是当前系统的时间
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String showTime = format.format(time);
        System.out.println("当前系统时间为:" + showTime);
 
        //7、自定义日历的时间
        String strTime = "2021-07-07";
        Date date = new SimpleDateFormat("yyyy-MM-dd").parse(strTime);
        instance.setTime(date);//将时间对象data设置为新的日历
        System.out.println("修改后的系统时间为:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(instance.getTime()));
    }
    
  		System.out.println("------------Calendar和Date转换------------");
        Date now = calendar.getTime();
        calendar.setTime(now);
 
 
        System.out.println("------------Calendar日期计算以及判断------------");
        calendar = new GregorianCalendar();
        Calendar calendar2 = new GregorianCalendar();
        calendar2.set(Calendar.YEAR, 2800);
        //是否在某个时间(calendar2)之后
        System.out.println(calendar.after(calendar2));
        //是否在某个时间(calendar2)之前
        System.out.println(calendar.before(calendar2));
        //增加多少年年,月日以及时分秒同理
        calendar.add(Calendar.YEAR, -10);
 
    } 
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:Date、SimpleDateFormat和Calendar的基本使用-创新互联
链接分享:http://pwwzsj.com/article/ichig.html