首页 > 其他分享 >06_Calendar类_SimpleDateFormat类_System类

06_Calendar类_SimpleDateFormat类_System类

时间:2024-07-29 23:17:05浏览次数:8  
标签:06 int System 20 Student new Calendar

一、Calendar类

Calendar的构造方法是protected Calendar(),由于修饰符是protected ,所以无法直接创建该对象,需要使用Calendar.getInstance();创建。

其他方法:

代码示例:

import java.util.Calendar;

public class demo01 {
    public static void main(String[] args) {
        //创建Calendar对象
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime().toLocaleString());
        System.out.println(calendar.getTimeInMillis());

        //获取时间信息
        //获取年
        int year = calendar.get(Calendar.YEAR);
        //获取月(值的范围:0-11)
        int month = calendar.get(Calendar.MONTH);
        //获取日
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        //获取小时
        int hour = calendar.get(Calendar.HOUR_OF_DAY);//HOUR_OF_DAY 24小时制;HOUR 12小时制
        //获取分钟
        int minute = calendar.get(Calendar.MINUTE);
        //获取秒
        int second = calendar.get(Calendar.SECOND);
        System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+":"+minute+":"+second);

        //修改时间
        Calendar calendar2 = Calendar.getInstance();
        calendar2.set(Calendar.DAY_OF_MONTH,29);
        System.out.println(calendar2.getTime().toLocaleString());

        //add方法修改时间
        calendar2.add(Calendar.MONTH, +1);
        System.out.println(calendar2.getTime().toLocaleString());

        //补充,getActualMaximum(),getActualMinimum()方法
        System.out.println(calendar2.getActualMaximum(Calendar.DAY_OF_MONTH));
        System.out.println(calendar2.getActualMinimum(Calendar.DAY_OF_MONTH));
    }
    
}

二、SimpleDateFormat类

SimpleDateFormat类是一个以语言环境有关的方式来格式化和解析日期的具体的类。

进行格式化(日期 --> 文本),解析(文本 --> 日期)

常用的时间模式字母:

代码:

public class demo02 {
    public static void main(String[] args) throws ParseException {
        //创建对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        //创建Date
        Date date = new Date();
        //格式化date
        String s = sdf.format(date);
        System.out.println(s);

        //解析
        Date date1 = sdf.parse("2035年09月22日");
        System.out.println(date1);
    }
}

格式化:format(Date date);

解析:parse(String source);

三、System类

System系统类,主要用于获取系统的属性数据和其他操作,构造方法是私有的。

1、System.arraycopy()复制数组

5个属性解释如下:
//src,源数组
//srcPos,从哪个位置开始复制
//dest,目标数组
//destPos,目标数组的位置
//length,复制的长度

arraycopy()底层框架是c/c++,运行速度要比Arrays.copyOf()快。

2、System.currentTimeMillis(),获取系统当前时间,单位毫秒

3、System.gc(),建议JVM赶快启动垃圾回收器回收垃圾

​ 如果创建的对象很多,也不一定会全部回收,如下代码展示的,有很多对象,每次回收的都不一样。

4、System.exit(int status),退出JVM,如果参数是0表示正常退出JVM,非0表示异常退出JVM

public class demo03 {
    public static void main(String[] args) {
//        System.arraycopy()复制数组
        int[] arr = {1,2,3,4,5,6,7,8};
        int[] dest = new int[8];
        System.arraycopy(arr,0,dest, 0, arr.length);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(dest[i]);
        }


//        System.currentTimeMillis(),获取系统当前时间,单位毫秒
        long start = System.currentTimeMillis();
        for (int i = 0; i < 999; i++) {
            for (int j = 0; j < 999; j++) {
                System.out.print(i+j+" ");
            }
        }
        long end = System.currentTimeMillis();
        System.out.println(end-start);


//        System.gc(),建议JVM赶快启动垃圾回收器回收垃圾
        new Student("aaa",20);
        new Student("bbb",20);
        new Student("ccc",20);
        new Student("ddd",20);
        new Student("dd",20);
        new Student("d",20);
        new Student("wwww",20);
        new Student("eee",20);
        new Student("ccc",20);
        new Student("ccc",20);
        new Student("ccc",20);
        new Student("ccc",20);
        new Student("ccc",20);
        new Student("ccc",20);
        new Student("ccc",20);
        new Student("ccc",20);
        new Student("ccc",20);

        System.gc();//告诉垃圾回收器回收垃圾


//        System.exit(int status),退出JVM,如果参数是0表示正常退出JVM,非0表示异常退出JVM
        System.exit(0);
        System.out.println("退出执行");

    }

}

标签:06,int,System,20,Student,new,Calendar
From: https://www.cnblogs.com/wml201917205/p/18331275

相关文章

  • os.system调用执行os.getcwd
    在编程中遇到一个有趣的执行,先说结果,os.system所执行若有获取当前路径的方法,会获取so.system所在路径,而不是正在执行的程序路径,如果有朋友调用发现一直报错,可以看一下报错信息。在内置库os的system可以执行python文件名,这种方式执行py程序。而os.getcwd会获取当前文......
  • 06-UnitTest框架
    DAY-09课堂笔记UnitTest基本使用UnitTest框架介绍框架什么是框架?1.框架英文单词framework2.为解决一类事情的功能集合UnitTest框架是Python自带的一个单元测试框架-⾃带的,可以直接使⽤,不需要单外安装-测试⼈员⽤来做⾃动化测试,作为⾃动化测试的执⾏框......
  • C语言day06(数组、字符数组)
    C语言day06【1】数组1》概念:具有一定顺序的若干变量的集合2》定义格式:存储类型数据类型数组名[元素的个数]例:intarr[5];//定义了一个数组arr,在内存空间中开辟了5个空间来储值在数组中保存的每一条数据都叫(元素)变量数组名:代表数组的首地址(地址常量);数组......
  • tkcalendar:日期输入字段颜色
    加载tkinter时,DateEntry框的背景保持白色。我尝试了各种样式,但仍然没有运气。#CreateacustomstyleforDateEntrystyle=ttk.Style(root)style.configure("CustomDateEntry.TCombobox",fieldbackground="#FF9393",background="#FF9393")style......
  • 问题 E: 深入浅出学算法060-友好城市
    题目描述有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避......
  • CF1906C Cursed Game 题解
    题目大意交互库有一个\(3\times3\)的01矩阵\(a\),每次询问一个\(n\timesn\)的01矩阵\(b\),交互库会返回一个\((n-2)\times(n-2)\)的01矩阵\(c\),满足:\[c_{x,y}=\bigoplus\limits_{1\lei,j\le3}\left(a_{i,j}\operatorname{AND}b_{x+i-1,y+j-1}\right......
  • 【Python学习手册(第四版)】学习笔记06-Python动态类型-赋值模型详解
    个人总结难免疏漏,请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。主要介绍Python的动态类型(也就是Python自动为跟踪对象的类型,不需要在脚本中编写声明语句),Python中变量和对象是如何通过引用关联,垃圾收集的概念,对象共享引用是如何影响多个变量......
  • CF1060F Shrinking Tree
    考虑分别以每个点为根计算概率,可以计算所有边固定了收缩顺序的概率之和后除以\((n-1)!\)即为答案设\(f_{x,i}\)表示在\(x\)的子树内,删除最后\(i\)条边前后根的编号不发生变化的概率和,所求即为\(f_{rt,n-1}\)记当前点为\(v\),父节点为\(u\),因为收缩\((u,v)\)时,之前的......
  • Win10 安装Bus Hound 后重启失败,启动修复 无法修复你的电脑 日志文件: E:\WINDOWS
    工作中用到了串口通讯,找到了BusHound,当安装完后提示重启,重启后直接启动失败。怀疑主要原因是安装了不支持Win10的BusHound版本,因为安装BusHound后会在系统中添加一个驱动: bhound7.sys,当Windows启动时加载bhound7.sys驱动失败导致Windows启动失败. 尝试了很多方法,包括进......
  • 洛谷P1067 [NOIP2009 普及组] 多项式输出
    题目链接:-P1067[NOIP2009普及组]多项式输出题目叙述:[NOIP2009普及组]多项式输出题目描述一元n次多项式可用如下的表达式表示:多项式中自变量为x,从左到右按照次数递减顺序给出多项式。多项式中只包含系数不为0的项。如果多项式n次项系数为正,则多项式开头......