System

(1)系统类 ,提供了一些有用的字段和方法

(2)成员方法

A:运行垃圾回收器

public static void gc()

B:退出 jvm

public static void exit(int status):

终止当前正在运行的 Java虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。

C:获取当前时间的毫秒值

public static long currentTimeMillis()

D:数组复制

public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

从指定源数组中复制一个数组, 复制从指定的位置开始, 到目标数组的指定位置结束。

示例:

int [] arr = { 11, 22, 33, 44, 55 };

int [] arr2 = { 6, 7, 8, 9, 10 };

System.arraycopy (arr, 1, arr2, 2, 2);

System. out .println(Arrays.toString (arr));   //[11, 22, 33, 44, 55]

System.out .println(Arrays.toString (arr2));  //[6, 7, 22, 33, 10]

Date/DateFormat

(1) Date 是日期类,可以精确到毫秒。

A:构造方法

Date() Date(long time)

B:成员方法

getTime() setTime(long time)

C:日期和毫秒值的相互转换

案例:你来到这个世界多少天了 ?

代码:

Scanner sc =newScanner(System.in ); //键盘录入你的出生的年月日

System.out .println(" 请输入你的出生年月日:" );

String line = sc.nextLine();

SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd"); //把该字符串转换为一个日期

Date d = sdf.parse(line);

longmyTime = d.getTime(); //通过该日期得到一个毫秒值

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

longtime = nowTime - myTime; //用 D-C得到一个毫秒值

longday = time / 1000 / 60 / 60 / 24; //把 E的毫秒值转换为年

System.out .println(" 你来到这个世界:" + day +" 天" );

(1) DateFormat 针对日期进行格式化和针对字符串进行解析的类,但是是抽象类,

所以使用其子类 SimpleDateFormat

A:SimpleDateFormat(String pattern)   给定模式

yyyy-MM-dd HH:mm:ss

B:日期和字符串的转换

a:Date -- String

format()

b:String -- Date

parse()

代码:

// Date -- String

Date d =new Date(); //创建日期对象

// SimpleDateFormat sdf = new SimpleDateFormat(); //创建格式化对象

SimpleDateFormat sdf =newSimpleDateFormat("yyyy年 MM月dd 日 HH:mm:ss");    //给定模式

// public final String format(Date date) String s = sdf.format(d);

System.out .println(s);

//String -- Date

String str ="2008-08-08 12:12:12";

//在把一个字符串解析为日期的时候,请注意格式必须和给定的字符串格式匹配

SimpleDateFormat sdf2 =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date dd = sdf2.parse(str);

System.out .println(dd);

Date d =new Date(); //创建日期对象

// SimpleDateFormat sdf = new SimpleDateFormat(); //创建格式化对象

SimpleDateFormat sdf =newSimpleDateFormat("yyyy年 MM月dd 日 HH:mm:ss");    //给定模式

// public final String format(Date date) String s = sdf.format(d);

System.out .println(s);

//String -- Date

String str ="2008-08-08 12:12:12";

//在把一个字符串解析为日期的时候,请注意格式必须和给定的字符串格式匹配

SimpleDateFormat sdf2 =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date dd = sdf2.parse(str);

System.out .println(dd);

Calendar

(1)日历类,封装了所有的日历字段值,通过统一的方法根据传入不同的日历字段可以获取值。

(2)如何得到一个日历对象呢 ?

Calendar rightNow = Calendar.getInstance();本质返回的是子类对象

(3)成员方法

A:根据日历字段得到对应的值

// 其日历字段已由当前日期和时间初始化:

Calendar rightNow = Calendar.getInstance(); // 子类对象

int year = rightNow.get(Calendar.YEAR); // 获取年

int month = rightNow.get(Calendar.MONTH); // 获取月

int date = rightNow.get(Calendar.DATE); // 获取日

B:根据日历字段和一个正负数确定是添加还是减去对应日历字段的值

public void add(int field,int amount):

根据给定的日历字段和对应的时间,来对当前的日历进行操作。

// 5 年后的 10 天前

c.add(Calendar.YEAR, 5);

c.add(Calendar.DATE, -10);

C:设置日历对象的年月日

public final void set(int year,int month,int date):

设置当前日历的年月日如: c.set(2011, 11, 1);

(4)案例:

计算任意一年的 2月份有多少天 ?

//键盘录入任意的年份

Scanner sc =newScanner(System.in);

System.out.println(" 请输入年份:");

int year = sc.nextInt(); //设置日历对象的年月日

Calendar c = Calendar.getInstance();

c.set(year, 2, 1); // 其实是这一年的3月 1日,把时间往前推一天,就是2月的最后一天

System.out .println(c.get(Calendar.MONTH));

c.add(Calendar.DATE, -1);

System.out .println(c.get(Calendar.MONTH)); //获取这一天输出即可

System.out .println(c.get(Calendar.DATE));

BigInteger

(1)可以让超过 Integer 范围内的数据进行运算

(2)构造方法A:BigInteger(String s)

(3)成员方法

public BigInteger add(BigInteger val):       //加

public BigInteger subtract(BigInteger val):   //减

public BigInteger multiply(BigInteger val):   //乘

public BigInteger divide(BigInteger val):   //除

public BigInteger[] divideAndRemainder(BigInteger val) ://返回商和余数的数组

BigDecimal

(1)浮点数据做运算, 会丢失精度。 所以,针对浮点数据的操作建议采用 BigDecimal。

(2)构造方法

A:BigDecimal(String s)

(3)成员方法:

public BigDecimal add(BigDecimal augend)    //加

public BigDecimal subtract(BigDecimal subtrahend) //减

public BigDecimal multiply(BigDecimal multiplicand)  //乘

public BigDecimal divide(BigDecimal divisor)  //除

public BigDecimal divide(BigDecimal divisor,int scale,introundingMode) //商,几位小数

java中calendarr,Java学习(16)--System 类/Date 类/ Calendar类相关推荐

  1. java中多线程之CAS(compareAndSet),Unsafe类大白话详解.

    java中多线程之CAS(compareAndSet),Unsafe类大白话详解 什么是CAS CAS原理 Unsafe类:     什么是CAS 比较并交换 在学习CAS之前,我们先了解一下JMM. ...

  2. Java中 LocalDate、LocalTime、LocalDateTime三个时间工具类的使用介绍

    Java中 LocalDate.LocalTime.LocalDateTime三个时间工具类的使用介绍 一.背景: 之前在做项目的过程中,对日期时间类没有一个系统的了解,总是在用的时候去搜索一下,解决 ...

  3. java中转义字符的学习---(多看几遍就会了系列)

    java中转义字符的学习-(多看几遍就会了系列) java中常见的转义字符– 符号 含义 \n 换行 \t 制表符 \r 回车 \b 退格 代码演示: public class a {public s ...

  4. java Date 和 Calendar类 万字详解(通俗易懂)

    Date类介绍 Date类构造器 Date类使用 关于SimpleDateFormat类 Date类对象的格式化 构造Date对象的补充 Date类对象成员方法 Calendar类介绍及使用 字段演示 ...

  5. java编译程序的基本命令是什么,【填空题】Java中编译java 程序的命令是 1 ,执行java程序的命令是 java 。...

    [填空题]Java中编译java 程序的命令是 1 ,执行java程序的命令是 java . 更多相关问题 [多选] 下列骨折中属于关节外骨折的是(). [多选] 骨折早期局部的并发症包括(). [多 ...

  6. Java中字符串的学习(一)String类的概述及常见方法使用

    转载请注明出处http://www.cnblogs.com/devtrees/p/4347079.html (拓展:Api:编程语言对外给我们提供的应用程序接口.) 一.概述: 我们平时上网发帖,帖子 ...

  7. java中引用一个文件数据_JAVA-基础-引用数据类型(类)

    引用数据类型分类 我们可以把类的类型为两种: l 第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使用. l  第二种,我们自己 ...

  8. java arraycopy()方法_Java学习之System.arraycopy()方法

    java.lang.System的静态方法arraycopy()可以实现数组的复制,讲课的老师说这个方法效率比较高,如果数组有成千上万个元素,那么用这个方法,比用for语句循环快不少.System提供 ...

  9. Java中正则表达式的学习

    正则表达式简介 正则表达式定义了字符串的模式,可以用来搜索.编辑和处理文本.正则表达式并不仅限于某一种语言. 官网地址:https://docs.oracle.com/javase/7/docs/ap ...

最新文章

  1. Git 常用操作(5)- git clone/git checkout -b/git diff/git push/git pull
  2. React系列---Redux高阶运用
  3. C语言-什么是尾递归
  4. 使用 PHPMAILER 发送邮件实例
  5. 2020年AI领域有哪些让人惊艳的研究?
  6. angular4点击事件监听_JavaScript从零开始——DOM事件编程(1)
  7. Android--------从一个包中的Avtivity创建另外另外一个包的Context
  8. js 多个input值拼接json字符串
  9. python matlibplot_python matlibplot绘制3D图形
  10. CSS原理与CSS经验分享
  11. 10 Java NIO ServerSocketChannel-翻译
  12. 遗传算法Python代码实现
  13. C#调用海康威视人脸识别接口
  14. 2022湖南最新建筑八大员(市政)考试试题题库及答案解析
  15. 第四代微型计算机,第四代树莓派微型电脑正式发布 首搭4GB内存,支持USB 3.0和双屏4K输出...
  16. 华为android怎么玩,如何在计算机上使用Android模拟器玩华为帐户手机游戏? ---已回复...
  17. 利用matlab绘制简单IFS图形(Sierpinski三角形和BarnsleyFern巴恩斯利蕨)
  18. webpackvue-cli快速构建
  19. 第五节 树莓派EC20自动拨号脚本编写
  20. 两周!从入门到第15到第3!小白和你一起入门NLP

热门文章

  1. mysql5.7安装教程
  2. deque冰淇淋_用冰淇淋解释组合爆炸:如何添加一点并获得很多
  3. java字符串常量池长度_Java String类相关知识梳理(含字符串常量池(String Pool)知识)...
  4. 假设以带头结点的循环链表表示队列_JavaScript数据结构之链表--设计
  5. matlab simulink_简单五步实现 MATLAB/Simulink 锂电池建模
  6. 复习django项目三——视图显示模板templates
  7. java中IO流的标准异常处理代码
  8. windows文本转语音 通过java 调用python 生成exe可执行文件一条龙
  9. Python Pillow(PIL)库的用法介绍(二)
  10. Python浅谈gevent实现协程