Date、DateFormat、Calendar、System、Math类总结
java.util.Date:
构造方法
public Date() 空参构造,返回当前时间
public Date(long 毫秒值) 指定毫秒值的时间
普通方法
long getTime() 获取毫秒值
viod setTime() 设置毫秒值
Date 指定毫秒数和Date类型的转换
Date d = new Date();
重写toString方法:Sat Mar 25 15:33:29 CST 2017
java.text.DateFormat 日期格式化类 抽象类
将日期和指定格式字符串之间做转换
SimpleDateFormat extends DateFormat
构造方法
public SimpleDateFormat() 空参构造 17-3-25 上午9:09 默认的格式
public SimpleDateFormat(String pattern) 用给定的格式创建对象(正则表达式)
普通方法
String format(Date date) 将日期装换为指定格式的字符串
Date parse(String source)将给定的字符串按照给定的格式解析为Date对象
如果给出的字符串不能匹配DateFormat的格式,就抛出ParseException异常
java.util.Calendar: 用来取代Date对象的一个日历类,它的构造方法里面会判断当前的时区
Calendar 可以完成Date与此Calendar类子类之间的日期转换
创建一个Calendar对象 因为Calendar是一个抽象类,无法直接创建对象
A:创建子类对象(一般不用)
B:提供了一个静态方法getInstance(),方法中处理时区问题,返回一个子类对象
Calendar c = Calendar.getInstance();
Calendar 也是一个时间对象,只是里面存储的信息比Date更完善
/*
*java.util.GregorianCalendar[time=1490428691311,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.
*[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,
*minimalDaysInFirstWeek=1,ERA=1,YEAR=2017,MONTH=2,WEEK_OF_YEAR=12,WEEK_OF_MONTH=4,DAY_OF_MONTH=25,
*DAY_OF_YEAR=84,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=58,
*SECOND=11,MILLISECOND=311,ZONE_OFFSET=28800000,DST_OFFSET=0]
*/
可以看出,Calendar里面可以打印出日期的各种信息,但是字段太多,不容易记住其位置,所以定义静态常量
直接见名知意明确获取的是哪一个字段,静态常量直接对应索引值
普通方法:
int get(int field(静态常量)) 获取日历信息
void set(int field, int value) 设置指定字段的时间
void set(int year, int month, int date)直接设置年月日
void add(int field, int value) 给指定字段添加时间
Date getTime() 将日历对象转化成日期对象
long getTimeMillis() 获取日历的毫秒数
java.lang.System
构造方法被私有 不能创建对象 所有方法都是静态的 可以类名直接调用
方法
static long currenTimeMillis() 获取当前时间毫秒值
exit(int i) 0正常退出,其它非正常退出
gc() 垃圾回收
arraycopy() 复制数组
getProperty(String key) 按照指定的键获取操作系统的属性
java.lang.Math
数学工具类(底层类全部定义为静态,方便调用)
static int abs(int a)返回绝对值
static long round(double a) 四舍五入
static int round(float a)
static double ceil(double a) 向上取整
static double floor(double a) 向下取整
static int max (int a, int b)两个数最大值
static int min (int a, int b)两个数最小值
static double pow(double a, double b) a的b次幂
static double random()随机生成一个0-1之间的小数
new Random().nextDouble() 生成一个小数(Random类中的方法)
基础数据类型和引用数据类型之间的转换
java.lang.Integer
String --- int
static int parseInt(String s) //Integer.parseInt()
Integer i = Integer.valueOf(String s) //将字符串转换为Integer
int i1 = i.intValue() //将Integer拆箱
int --- String
A:"" + a(int);
B:String.valueOf(int a);
C:包装类的toString();
正则表达式:正确规则的字符串
所有匹配规则的功能都在使用正则表达式
String类
String[] split(String regex)按照指定格式进行分割
boolean matches(String regex) 是否与指定格式一致
Date、DateFormat、Calendar、System、Math类总结的更多相关文章
- JAVA之旅(二十三)——System,RunTime,Date,Calendar,Math的数学运算
JAVA之旅(二十三)--System,RunTime,Date,Calendar,Math的数学运算 map实在是太难写了,整理得我都晕都转向了,以后看来需要开一个专题来讲这个了,现在我们来时来学习 ...
- Java基础 【Math、Random、System、BigInteger、BigDecimal、Date、Calendar等常用类的使用】
学习的这几个类 是日常工作中经常要使用到的类 Math 类包含用于执行基本数序运算的方法,如初等指数.对数.平方根和 三角函数. 成员方法 1.public static int abs(int a ...
- 常用类(Date,Calendar,Math,枚举)
1.日期时间类 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(以毫秒ms为单位). 如:计算机时间2019-04-29 14:14:00是该时间距离历元经过的毫 ...
- 日期时间类:Date,Calendar,计算类:Math
日期时间类 计算机如何表示时间? 时间戳(timestamp):距离特定时间的时间间隔. 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(ms). 计算机中时间2 ...
- 与时间有关的类Date,DateFormat,Calendar
Date类用于表示日期和时间.它没考虑国际化问题,所以又设计了另外两个类. Calendar类: 主要是进行日期字段之间的相互操作. 编程实例:计算出距当前日期时间315天后的日期时间,并使用”xxx ...
- 学用 ASP.Net 之 System.Math 类
本文来自:http://www.cnblogs.com/del/archive/2011/01/03/1924746.html 成员: /* 字段 */ Math.E; //2.7182 ...
- 08 正则表达式,Math类,Random,System类,BigInteger,BigDecimal,Date,DateFormat,Calendar
正则表达式: 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. public class Demo2_Regex { public sta ...
- 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)
1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则) * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B: ...
- Date、DateFormat、Calendar、Math、System
Date(基本已过时了,被Calendar替换) 构造方法(有两个) Date(); Date(long l);long类型的毫秒值 常用方法(其他方法都已被Calendar替换) getTime() ...
随机推荐
- JAVA错误:Exception in thread "main" java.lang.NullPointerException
JAVA错误:Exception in thread "main" java.lang.NullPointerException例如: Exception in thread &q ...
- [转]Delphi DLL的创建、静态 以及动态调用
第一章 DLL简单介绍 由于在目前的学习工作中,需要用到DLL文件,就学习了下,在这里作个总结. 首先装简单介绍下DLL: 1,减小可执行文件的大小 DLL技术的产生有很大一部分原因是为了减小可执行 ...
- Java中JNI的使用详解第四篇:C/C++中创建Java对象和String字符串对象及对字符串的操作方法
首先来看一下C/C++中怎么创建Java对象:在JNIEnv中有两种方法是用来创建Java对象的: 第一种方法: jobject NewObject(jclass clazz , jmethodI ...
- 39 Ubuntu下配置python的vscode开发环境
0 引言 最近想在ubuntu下搞深度学习,首先配置了python的vscode开发环境.在配置python时,选择了Anaconda3.x,保证了其相对于系统python2.x的独立性.另外,vsc ...
- ftp和ssh登录缓慢的解决办法
在垃圾邮件和短信盛行的今天,邮件和短信,拦截与反向域名解析的方式,有效的防止了垃圾短信.邮件的入侵.Vsfpd和sshd同样利用了反向域名解析这一功能(默认开启),.在客户端向server端请求访问时 ...
- LeetCode 746. Min Cost Climbing Stairs (使用最小花费爬楼梯)
题目标签:Dynamic Programming 题目给了我们一组 cost,让我们用最小的cost 走完楼梯,可以从index 0 或者 index 1 出发. 因为每次可以选择走一步,还是走两步, ...
- 牛客练习赛43D Tachibana Kanade Loves Sequence
题目链接:https://ac.nowcoder.com/acm/contest/548/D 题目大意 略 分析 贪心,首先小于等于 1 的数肯定不会被选到,因为选择一个数的代价是 1,必须选择大于1 ...
- 剑指offer——26树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 题解: 注意,所谓的子结构,是树的形状和值相同,并非判断B是不是A的一部分[如果是这样,那就是 ...
- 【POJ】3660 Cow Contest
题目链接:http://poj.org/problem?id=3660 题意:n头牛比赛,有m场比赛,两两比赛,前面的就是赢家.问你能确认几头牛的名次. 题解:首先介绍个东西,传递闭包,它可以确定尽可 ...
- Neo4j 3.5发布,在索引方面大幅增强
Neo4j 3.5版本已正式发布,这也是Neo4j宣布企业版闭源以来发布的第一个版本. 这个版本在性能.资源使用率以及安全方面均有增强,我们可以先快速浏览一下这个版本: 全文索引 基于Index的快速 ...