JAVAEE细细看 进阶 05 - Date、Calendar

1 篇文章 0 订阅
1 篇文章 0 订阅

Date、Calendar

一. Date类

构造方法:

Date dl = new Date();                     当前时间
Date dl1 = new Date(long date);    时间戳转化为时间

成员方法

public long getTime()                     获取从1970年1月1日零点到现在毫秒值
public void setTime(long time)     设置时间,给的是毫秒值
二. SimpleDateFormat

构造器

SimpleDateFormat()
SimpleDateFormat(String pattern)

date转string

public final format(Date date)

string转date

public Date parse(String source) 

拿到当前时间

Date dd = new Date();

格式化 日期转string

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(dd);
System.out.println(s);
System.out.println("--------");

格式化 string转日期

Date dd1 = sdf.parse("2006-01-02 05:18:72");
System.out.println(dd1);
三. Calendar类
构造方法
Calendar.getInstance()
成员方法
public int get(int field);   // 获取年月日,时分秒等
public abstract void add(int field, int amout)   // 添加或减去日期
public final void set(int year, int month, int date) //  设置当前日历的年月日

// 获取日历
Calendar ca = Calendar.getInstance();

// 获取年月日
int year = ca.get(Calendar.YEAR);
int month = ca.get(Calendar.MONTH) + 1;
int day = ca.get(Calendar.DATE);

int hour = ca.get(Calendar.HOUR);
int minute = ca.get(Calendar.MINUTE);
int second = ca.get(Calendar.SECOND);

System.out.println(year + "-" +
        month + "-" +
        day + "-" +
        " " +
        hour + ":" +
        minute + ":" +
        second);

日期处理

public static void main(String[] args) {
    //获取日历类对象
    Calendar c = Calendar.getInstance();

    // 往前数3年
    c.add(Calendar.YEAR,-3);
    currentDate(c);
    // 往前数3个月
    c.add(Calendar.MONTH,-2);
    currentDate(c);
    // 往前数3分钟
    c.add(Calendar.MINUTE,-3);
    currentDate(c);

    // 设置当前的年月日
    c.set(2015,9,7);
    currentDate(c);
}

public static void currentDate(Calendar c){
    //public int get​(int field):返回给定日历字段的值
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH) + 1;
    int date = c.get(Calendar.DATE);

    int minute = c.get(Calendar.MINUTE);
    System.out.println(year + "年" + month + "月" + date + "日" + minute + "分钟");
    System.out.println("--------");
}

Calendar转化为Date

Calendar cal=Calendar.getInstance();  
Date date=cal.getTime();  

Date转化为Calendar

Date date=new Date();  
Calendar cal=Calendar.getInstance();  
cal.setTime(date);

案例:
获取任意一年的二月有多少天?

// 要求用户输入
 Scanner sc = new Scanner(System.in);
 System.out.println("获取任意一年的二月有多少天");
 System.out.println("请输入你想查询的年份:");
 int year = sc.nextInt();                       // 假如设置2020年

 // 计算
 Calendar ca = Calendar.getInstance();

 // 设置时间为该年的 3月1号 (这里的2是3月,写3会变成4月)
 ca.set(year,2,1);

 // 获取往前数一天的时间
 ca.add(Calendar.DATE, -1);

 //  获取这一天的日期
 int day = ca.get(Calendar.DATE);

 System.out.println("day = " + day);  //29

currentDate(ca);                                  
// 2020年2月29日

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值