Java300学习笔记(6)——时间、日期类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012292754/article/details/86490333

1 Date 类

  • Date类,它的对象表示一个特定的瞬间,精确到毫秒;
  • Java 中的时间也是数字,是从标准纪元1970-1-1 0 点开始到某个时刻的毫秒数,类型是 long
    在这里插入图片描述
import java.util.Date;

public class TestDate {
    public static void main(String[] args) {
        Date d = new Date();
        long t = System.currentTimeMillis();
        System.out.println(t);
        System.out.println("=============================");

        Date d2 = new Date(1000);
        System.out.println(d2.toGMTString());
        System.out.println("====================================");

        d2.setTime(2000);
        System.out.println(d2.getTime());

    }
}

在这里插入图片描述

2 DataFormat 和 SimpleDateFormat

  • 完成字符串和时间对象的转化
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDateFormat {
    public static void main(String[] args) {
        DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");

        Date d = new Date(666666666L);

        String str = df.format(d); //将时间对象转换为字符串
        System.out.println(str);
        System.out.println("==========================================");

        String str2 = "1977-7-7 21:30:30";
        DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        try {
            Date d2 = df2.parse(str2);
            System.out.println(d2);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        System.out.println("===============================================");
    }
}

在这里插入图片描述

3 Calendar 类

  • 人们对于时间的认识是:某年某月某日,这样的日期概念。计算机是long类型的数字。通过Calendar在二者之间搭起桥梁
  • GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统
  • 月份:一月是0,二月是1,以此类推,是12月是11
  • 星期:周日是1,周一是2,。。。周六是7
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class TestCalendar {
    public static void main(String[] args) {
        Calendar c = new GregorianCalendar();

        //c.set(2000,Calendar.FEBRUARY,1,23,0,0);
        c.set(Calendar.YEAR,2018);
        c.set(Calendar.MONTH,1);
        c.set(Calendar.DATE,10);
        Date d = c.getTime();
        System.out.println(d);
        System.out.println(c.get(Calendar.YEAR));

    }
}

在这里插入图片描述

4 可视化日历

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

/*
 * 可视化日历程序
 * */
public class ViasulCalendar {
    public static void main(String[] args) {

        System.out.println("请输入日期,如:2000-1-1");
        Scanner scanner = new Scanner(System.in);
        String temp = scanner.nextLine();


        //String temp = "2030-2-20";
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date = df.parse(temp);

            Calendar calendar = new GregorianCalendar();
            calendar.setTime(date);

            int day = calendar.get(Calendar.DATE);

            calendar.set(Calendar.DATE, 1);

          //  System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
            // System.out.println(calendar.getActualMaximum(Calendar.DATE));

            int maxDate = calendar.getActualMaximum(Calendar.DATE);

            System.out.println("日\t一\t二\t三\t四\t五\t六");

            for (int i = 1; i < calendar.get(Calendar.DAY_OF_WEEK); i++) {
                System.out.print("\t");
            }


            for (int i = 1; i <= maxDate; i++) {

                if (i == day){
                    System.out.print("*");
                }

                    System.out.print(i + "\t");
                int w = calendar.get(Calendar.DAY_OF_WEEK);
                if (w == Calendar.SATURDAY) {
                    System.out.println("\n");
                }
                calendar.add(Calendar.DATE, 1);
            }


        } catch (ParseException e) {
            e.printStackTrace();
        }


    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012292754/article/details/86490333
今日推荐