【无标题】

Date和Calendar类
Date
三个子类:* java.util.Date三个子类

  •    java.sql.Date  年月日
    
  • java.sql.Time 时分秒
  • java.sql.TimeStamp 时间戳 年月日时分秒 毫秒
    *(1)系统当前时间;瞬时时间;
  • Date date=new Date();
  • System.out.println(date);
    (2)Date date1=new Date(24L6060100036525);
    System.out.println(date1);
    (3)从键盘输入字符串:时间格式;
    用格式化器把String类型转成Date类型;
    *(4)19700101 00:00:00以来的毫秒数;date1.getTime();
    *(5)long startTime=System.currentTimeMillis();
    DateFormat
    DateFormat:抽象类;
    SimpleDateFormat:子类;
    模式:
  • yyyy:年
  • MM:月
  • dd:日
  • hh:12小时制;
  • HH:24小时制;
    mm:分;
  • ss:秒;
  • SS:毫秒;

*1.把Date格式化成String类型;

  • Date date=new Date();
  • DateFormat df=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss SS”);
  • String strDate=df.format(date);

*2.把String类型转成Date类型;

  • String strInput=“1990-08-08”;//字符串的格式一定要和格式化器设置的一致;
  • //创建一个格式化器;
    DateFormat df1=new SimpleDateFormat(“yyyy-MM-dd”);
    Date date1=df1.parse(strInput);
    /
    Calendar
    /

    *1.Calendar:表示的是瞬时时间;

*2.Calendar:抽象类;

  • GregorianCalendar:子类;

*3.Calendar cal=Calendar.getInstance();

  • Calendar cal1=new GregorianCalendar();

*4.Calendar—>Date:cal.getTime();*相比于Date,Calendar能更灵活地获得和指定时间;
*5.查:
*cal.get(Calendar.YEAR)
*cal.get(Calendar.MONTH)
*cal.get(Calendar.DATE)
*
*6.改:
*cal.set(Calendar.YEAR, 2016);
*cal.set(Calendar.MONTH, 7);
*cal.set(Calendar.DATE, 8);
*

  • */
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Scanner;

public class Study07 {
public static void main(String[] args) throws ParseException {
Date date = new Date();
System.out.println(date);
Date date1 = new Date(24L * 365 * 60 * 60 * 1000 * 10);
System.out.println(date1);
System.out.println(date1.getTime());//19700101 00:00:00以来的毫秒数;
long startTime = System.currentTimeMillis();
System.out.println(startTime);//19700101 00:00:00以来的毫秒数;
/**

  • 时间格式和字符串直接装换

  • dateFormat.format(date);时间转字符串
    */
    DateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss SSS”);
    String strdate = dateFormat.format(date);
    System.out.println(strdate);
    String strdate01 = “2022-08-29”;
    DateFormat dateFormat1 = new SimpleDateFormat(“yyyy-MM-dd”);
    Date date2 = dateFormat1.parse(strdate01);
    System.out.println(date2);
    System.out.println(“=Calendar==”);
    Calendar calendar=Calendar.getInstance();
    System.out.println(calendar.getTime());//通过getTime()获取当前时间
    //查询时间
    System.out.println(calendar.get(Calendar.YEAR));
    System.out.println(calendar.get(Calendar.MONTH));//月份是0到11月
    System.out.println(calendar.get(Calendar.DATE));
    System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
    //修改时间
    calendar.set(Calendar.YEAR,2016);
    System.out.println(calendar.getTime());

     //获取本月最大天数
     System.out.println(calendar.getActualMaximum(Calendar.DATE));
    
     //增加
     calendar.add(Calendar.YEAR,-1);
     System.out.println(calendar.getTime());
    
     //万年历
     //                1.从键盘输入一个字符串,时间格式;把字符串转成Date格式。
     Scanner input=new Scanner(System.in);
     System.out.println("请输入时间(注意格式:2015-02-28):");
     String strDate=input.next();
    
     //把strDate转成Date;
     DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
     Date date03=null;
     try {
         date03=df.parse(strDate);
     } catch (ParseException e) {
         System.out.println("请输入正确的时间格式。");
     }
    
     //2.把Date转成Calender类型;
     Calendar cal=Calendar.getInstance();
     cal.setTime(date03);
     System.out.println(cal.getTime());
    
     //得到本月的天数;
     int maxDays=cal.getActualMaximum(Calendar.DATE);
    
     //得到本月的日期;
     int now=cal.get(Calendar.DATE);
    
     //得到本月1日是一星期中的第几天;
     cal.set(Calendar.DATE, 1);
     System.out.println(cal.getTime());
    
     int week=cal.get(Calendar.DAY_OF_WEEK);
    
     //得到以上信息,开始输出;
     System.out.println("日\t一\t二\t三\t四\t五\t六");
    
     //输出空格;
     for(int i=1;i<week;i++){
         System.out.print("\t");
     }
    
     //输出日期数字;
     for(int i=1;i<=maxDays;i++){
    
         if(i==now){
             System.out.print(i+"*\t");
         }else{
             System.out.print(i+"\t");
         }
    
    
         //换行;
         if(cal.get(Calendar.DAY_OF_WEEK)==7){
             System.out.println();
         }
    
         //每次循环结束,cal日期加1;为下次循环做准备;
         cal.add(Calendar.DATE, 1);
     }
    

    }
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值