注:本文所有内容均属个人见解,如有错误望各位大佬好心指点批评,不胜感激

本章重点单词:

  • parse:解析
  • format:格式化
  • pattern:模式
  • amount:数量
  • filed :领域

1.Date 类
构造方法:
  Date(); 获取当前系统时间
  Date(long date); 获取指定参数时间,从基准时间即1970-1-1 00:00:00 GMT以来的毫秒数
常用成员方法:
  long getTime();返回date对象对应的毫秒数
  void setTime();根据指定的毫秒数,修改时间

public class Test{
public static void main(String[] args) {
Date date = new Date();
System.out.println("日期:"+date);
}
}

  

2.DateFormat import java.text [抽象类]

  不能创建对象,因此由其子类来创建对象(SimpleDateFormat 构造方法 SimpleDateFormat(String patten)[给定的模式和默认语言环境])
解析:把字符串类型的时间->Date类型的:1970年1月1日00:00 00-》>Date
格式化:Date类型的时间->字符串类型的时间

成员方法:

  • Sting | ->Format(Date date):将Date格式化为字符串类型

  • Date  |    ->Date parse(String source);将字符串类型解析为Date日期类型(转换时,该String要符合指定规则,否则不能转换)

  ※ DateFormat作用:即可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转换为一个Date对象

指定格式---->即SimpleDateFormat(String pattern)构造方法的形参;

public abstract class DateFormat extends Format
  /*DateFormat类是一个抽象类,其本身内部提供了可以直接为其实例化的操作。
  得到日期的DateFormat对象:
public static final DateFormat getDateInstance()
  得到日期时间的DateFormat对象:
public static final DateFormat getDateTimeInstance()
直接使用DateFormat类完成Date类的转换功能:*/
  public final String format(Date date)
import java.text.DateFormat ;
import java.util.Date ;
public class Test{
public static void main(String args[]){
DateFormat df1 = null ; // 声明一个DateFormat
DateFormat df2 = null ; // 声明一个DateFormat
df1 = DateFormat.getDateInstance() ; // 得到日期的DateFormat对象
df2 = DateFormat.getDateTimeInstance() ; // 得到日期时间的DateFormat对象
System.out.println("DATE:" + df1.format(new Date())) ; // 按照日期格式化
System.out.println("DATETIME:" + df2.format(new Date())) ; // 按照日期时间格式化 }
};

  

 通过此类可以直接将Date类的显示进行合理的格式化操作。此时采用的是默认的格式化操作,也可以通过Locale对象指定要显示的区域。如指定的区域是中国:

import java.text.DateFormat ;
import java.util.Date ;
import java.util.Locale ;
public class Test{
public static void main(String args[]){
DateFormat df1 = null ; // 声明一个DateFormat
DateFormat df2 = null ; // 声明一个DateFormat
df1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN")) ; // 得到日期的DateFormat对象
df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN")) ; // 得到日期时间的DateFormat对象
System.out.println("DATE:" + df1.format(new Date())) ; // 按照日期格式化
System.out.println("DATETIME:" + df2.format(new Date())) ; // 按照日期时间格式化 }
};

  SimpleDateFormat类代码:此类的功能是完成日期的显示格式化的,例如,在开发中,可能会将一种日期格式变为另一种日期格式,如下所示:

import java.util.* ;
public class Test{
public static void main(String args[]){
String strDate = "2008-10-19 10:11:30.345" ;
// 准备第一个模板,从字符串中提取出日期数字
String pat1 = "yyyy-MM-dd HH:mm:ss.SSS" ;
// 准备第二个模板,将提取后的日期数字变为指定的格式
String pat2 = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒" ;
SimpleDateFormat sdf1 = new SimpleDateFormat(pat1) ; // 实例化模板对象
SimpleDateFormat sdf2 = new SimpleDateFormat(pat2) ; // 实例化模板对象
Date d = null ;
try{
d = sdf1.parse(strDate) ; // 将给定的字符串中的日期提取出来
}catch(Exception e){ // 如果提供的字符串格式有错误,则进行异常处理
e.printStackTrace() ; // 打印异常信息
}
System.out.println(sdf2.format(d)) ; // 将日期变为新的格式
}
};

  

3.Calendar类 --表示日历的类
  里面的方法基本 都是静态方法,Calendar 又是抽象类,不能new,因此用静态方法创建对象
创建对象:
  Calendar c = Calendar.getInstance(); //返回当前日历对象
或者用子类创建对象:
  Calendar c = new GregorianCalendar();
成员方法:
  1.abstract void add(int field,int amout);根据字段名称和偏移量,修改时间
  field字段值:Calendar.YEAR amout 偏移量
  2.int get (int field):返回日历字段的值,
  3.Date getTime():返回一个表示此Calendar时间值的Date对象
  4.void set(int field,int value):将给定的日历字段值设置为给定值
  5.void set(int year,int month,int date,int hourOfDay,int minute,int second)
  6.void setTime(Date date):
  在Calendar 类中,月份的表示以0-11 表示1-12月
西方的周日,中国的周一

public class Test{
public static void main(String args[]){
Calendar calendar = new GregorianCalendar(); // 实例化Calendar类对象
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + (calendar.get(Calendar.MONTH) + 1));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
}
};
//注:在取得月份的时候要特别注意,需要加1。
 // 如果按照此方法取得,则很麻烦,最好的做法是将Date进行一些相关的格式化操作。

  

4.System 类
  其构造方法为Final类型因此一般不会创建对象,并且成员方法一般为静态方法

  •  currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值
  •  exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态
  •  gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。
  •  getProperty(String key) 用来获取指定键(字符串名称)中所记录的系统属性信息

5.Math 类
  数学的类,用来进行基本的数学运算的.


static int abs(int a)
static double ceil(double a)
static double floor(double a)
static double max(int a, int b)
static int min(int a, int b)
static double pow(double a, double b)
static long round(double a)

6.基本数据包装类型    

  可以把基本类型转成对象,也可以把对象转成基本类型,也可以基本数据类型转成字符串
1.把基本类型转成对象
  包装类的构造方法:Interger inter = new Integer(50);
2.把对象转成基本数据类型
  包装类对象的方法:inter.intValue();
3.把基本数据类型转成字符串
  包装类的方法:inter.toString();
4.把字符串转成基本数据类型,

  [parsenXXX]一般为静态方法,因此直接用类名访问[parse:解析]
包装类的方法:Integer.parseInt("1234");
5.把基本数据类型转成包装类型
  包装类的方法:Integer.valueOf(55);

  • 自动装箱:把基本类型的数据,自动转换成 包装类型的对象;
  • 自动拆箱:把包装类型的对象 自动 转成 基本类型的数据;

总结:

Date类虽然直接取出的时间格式并不十分理想,但其作用依然很大

通过Calendar类可以完整的取得时间

DateFormat可以直接使用,但其本身是一个抽象类,可以根据Locale指定的区域不同得到不同的日期时间显示效果

SimpleDateFormat类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都是使用SimpleDateFormat类完成。

  部分代码来自@闲来垂钓

JAVA常用API(Date、DateFormat、Calendar、System、Math、基本数据类型包装类)的更多相关文章

  1. Java常用类Date、Calendar、SimpleDateFormat详解

    Date类 java.util 包提供了 Date 类来封装当前的日期和时间,Date 类提供两个构造函数来实例化 Date 对象 第一个构造函数使用当前日期和时间来初始化对象   Date( ) 第 ...

  2. java常用API之DateFormat

    DateFormat 类: DateFormat 类是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间.日期/时间格式化子类(如 SimpleDateFormat类)允许进行格 ...

  3. Java常用类归纳(Object、System、Properties、包装类和工具类等等)

    Object类 Object 是类层次结构的根类.每个类都使用 Object 作为超类,所有对象(包括数组)都实现这个类的方法.了解Object的方法是很有必要的. protected Object ...

  4. JAVA之旅(二十三)——System,RunTime,Date,Calendar,Math的数学运算

    JAVA之旅(二十三)--System,RunTime,Date,Calendar,Math的数学运算 map实在是太难写了,整理得我都晕都转向了,以后看来需要开一个专题来讲这个了,现在我们来时来学习 ...

  5. Java常用API(Math类)

    Java常用API(Math类) Math类的作用 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数.类似这样的工具 类,其所有方法均为静态方法,并且 ...

  6. Java 常用API(二)

    目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar ...

  7. Java 常用API(一)

    目录 Java 常用API(一) 1. Scanner类 引用类型的一般使用步骤 Scanner的使用步骤 例题 2. 匿名对象 概述 匿名对象作为方法的参数 匿名对象作为方法的返回值 3. Rand ...

  8. Java常用API(Arrays类)

    Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...

  9. Java常用API(String类)

    Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. ...

  10. Java常用API(ArrayList类)

    Java常用API(ArrayList类) 我们为什么要使用ArrayList类? 为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所 ...

随机推荐

  1. 【1414软工助教】团队作业3——需求改进&系统设计 得分榜

    题目 团队作业3--需求改进&系统设计 作业提交情况情况 本次作业所有团队都按时提交作业. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 ...

  2. Java学习2——HelloWorld(编写第一个java程序)

    编写 在自己的工作文件目录下(如上一篇中配置的classpath路径)创建HelloWorld.java文件,编写如下代码,并保存 public class HelloWorld { public s ...

  3. 201521123076《Java程序设计》第1周学习总结

    一. 本章学习总结 1.了解了JDK,JVM,JRE的相关内容 JVM(Java Virtual Machine): Java虚拟机,*.java原始码,经过编译程序翻译为.class位码.JVM正是 ...

  4. win10- *.msi 软件的安装,比如 SVN安装报2503,2502

    1, 以管理员身份打开cmd ,   C:\Windows\System32\cmd.exe 2,输入: msiexec /package "安装文件的全路径" 3,按下回车. 例 ...

  5. 在ZABBIX平台上通过SNMP协议监控网络设备

    在ZABBIX平台上通过SNMP协议监控网络设备 方法一:自动发现监控项 ZABBIX自带模板Template SNMP Interfaces中有"自动发现规则"这一选项,在主机选 ...

  6. JSR303的数据校验-Hibernate Validator方式实现

    1.什么是JSR303? JSR303是java为bean数据合法性校验所提供的一个标准规范,叫做Bean Validation. Bean Validation是一个运行时的数据校验框架,在验证之后 ...

  7. Chrome控制台选择器简介

    Chrome的控制台是支持用$来获取元素的,这点可能是很多人不知道的.本篇文章将会简单介绍怎样更好的来使用这种快捷方式来获取元素. 判断当前窗口的$是来自谁的 我们知道jQ里面经常使用$来进行元素选择 ...

  8. spring cloud+dotnet core搭建微服务架构:服务发现(二)

    前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...

  9. Android 8.0 功能和 API

    Android 8.0 为用户和开发者引入多种新功能.本文重点介绍面向开发者的新功能. 用户体验 通知 在 Android 8.0 中,我们已重新设计通知,以便为管理通知行为和设置提供更轻松和更统一的 ...

  10. Dubbo与Zookeeper、SpringMVC整合和使用

    作为dubbo框架初学者,能让框架跑起来非常不容易,非常感谢网上诸多大神提供的文章,本人参考文章地址是:https://my.oschina.net/xshuai/blog/891281 不过别人的记 ...