时间类的练习

练习一:题目:在控制台打印10天前的日期

package com.qf.demo03;

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

public class Test01 {
    public static void main(String[] args) throws ParseException {
        Date date= new Date();

        String str ="2022-2-1";

        //实例化时间类
        SimpleDateFormat sl = new SimpleDateFormat("yyyy-MM-dd");

        //把string类型的字符串通过SimpleDateFormat转换成Data的类的数据
        Date parse = sl.parse(str);

        //使用这个类
        Calendar cal =Calendar.getInstance();

        //把自己设置的时间进行转换到SimpleDateFormat里面去
        cal.setTime(parse);

        //获取当前日期的10天前的日期,即便是日期在在个位数时候,也是可以的
        cal.add(Calendar.DAY_OF_MONTH,-10);
        System.out.print(cal.get(Calendar.YEAR)+"年");
        //注意;月份是从0开始的需要加1
        System.out.print((cal.get(Calendar.MONTH)+1)+"月");
        System.out.println(cal.get(Calendar.DAY_OF_MONTH)+"日");
    }
}

练习二:键盘录入2020年1月1日,获取年、月、日、时、分、秒,星期几以及这天是这一年的第几天和这周是这一年的第几周

package com.qf.demo03;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Test02 {
    public static void main(String[] args) throws ParseException {
        Scanner input = new Scanner(System.in);
        System.out.println("输入一个格式:yyyy-MM-dd 的时间:");
        String str =input.next();

        //将字符串转换成Data类型数据,需要使用SimpleDateFormat的parse方法
        SimpleDateFormat sl = new SimpleDateFormat("yyyy-MM-dd");
        Date parse = sl.parse(str);

        //获取里面的年月日等等  通过Calendar类进行
        Calendar cal = Calendar.getInstance();

        System.out.println("年份:"+cal.get(Calendar.YEAR));
        //注意:月份是从0开始的,需要+1
        System.out.println("月份:"+cal.get(Calendar.MONTH)+1);
        System.out.println("日:"+cal.get(Calendar.DAY_OF_MONTH));
        //星期几,星期几需要进行-1,
        System.out.println("星期"+(cal.get(Calendar.DAY_OF_WEEK)-1));

    }
}

练习三:
计算今天距离2020年1月1日有多少天;

package com.qf.demo03;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Test03 {
    public static void main(String[] args) throws ParseException {
        //计算今天距离2020年1月1日有多少天
        
        //输入一个 yyyy-MM-dd类型的字符串
        Scanner input =new Scanner(System.in);
        System.out.println("输入字符串:");
        String str = input.next();

        //需要将输入的字符串转换成毫秒值
        Date date01 = new Date();
        SimpleDateFormat sl=new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal =Calendar.getInstance();
        Date parse = sl.parse(str);
        long time = parse.getTime();

        //获取当前时间的毫秒值
        long l = System.currentTimeMillis();

        //计算天数
        System.out.println((l - time) / 1000 / 60 / 60 / 24);

    }
}

练习四:
验证打印1-9999所需要使用的时间是多少(毫秒值)

package com.qf.demo03;

public class Test04 {
    public static void main(String[] args) {
        //验证for循环打印数字1-9999所需要使用的时间(毫秒值)
        /*
        1.定义一个开始的时间
        2.循环打印
        3.定义一个结束的时间,两个时间相减
         */

        long startTime = System.currentTimeMillis();
        for (int i = 0; i < 10000; i++) {
            System.out.print(i+" ");
        }
        System.out.println();
        long endTime = System.currentTimeMillis();
        System.out.println("所以时间:"+(endTime - startTime)+"毫秒值");
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个胖小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值