常用类枚举和DATE的介绍
1 常用类
日期时间类
时间戳的内容:就是距离特定时间的时间间隔。,本质上也是一种整形(long)。
例如:计算机时间戳就是距离历元(1970-01-01 00:00:00:000)的时间间隔。
世界标准时间(GMT又称UT),格林尼治时间,世界协调时。
我国位于时区的东八区。
Date
类 Date 表示特定的瞬间,精确到毫秒。
Date 类本质上拥有一个long fastTime属性的包装类,提供了很多属性和方法用于快速获取年月日、时分秒。而fastTime就是时间戳。
p ublic static void main(String[] args) {
Date date =new Date();
System.out.println(date);
long time =date.getTime();
System.out.println(time);
long g =0;
Date date1 =new Date(g);
}
日期时间的格式化
[1]把Date对象格式化成特定的字符串
SimpleDateFormat df = new SimpleDateFormat();
String dateStr = df.format(date);
System.out.println(dateStr);
[2]把特定的格式的字符串解析成Date对象
public static void main(String[] args) {
String str = "2019-04-29 15:48:00";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 把子串->Date
try {
Date date = df.parse(str);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
Calendar
calendar是日历类,本质内部拥有一个属性long time。表示该日历所具体的时间戳。同时calendar内部通过对时间的运算出很多日历字段,把这些日历字段存在一个容器中,并提供set/get方法用设置或者访问这些字段。
因为calendar是一个抽象类,所以只能用工厂设计模式构建一个对象。
calendar cal =calendar.getInstance();
System.out.println(cal.toString());
下列一些具体获取的对象的具体方法:
// 获取年
System.out.println(cal.get(Calendar.YEAR));
// 获取月,索引从0开始,0-表示1月
System.out.println(cal.get(Calendar.MONTH));
System.out.println(cal.get(Calendar.DAY_OF_MONTH));
// 时
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
// 分
System.out.println(cal.get(Calendar.MINUTE));
// 秒
System.out.println(cal.get(Calendar.SECOND));
System.out.println(cal.get(Calendar.MILLISECOND));
// 获取星期 一周的第一天是周日开始
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
// 本月的第一天和本月的最后一天
System.out.println(cal.getActualMinimum(Calendar.DAY_OF_MONTH));
System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Math
math类包含用于执行基本数学运算的方法。例如随机数 平方 立方 以及圆等等。
例如:
pow(x,y)表示x的y次方。
System.out.println(Math.pow(2, 3));
Math.random随机数
加入要产生闭区间【m,n】,
(int)(Math.random()*(n-m+1))+m;
枚举
枚举简介
枚举是由一组固定的常量组成的类型,自定义数据类型。语法:
[修饰符] enum enumName{
常量值1,
常量值2,
....
常量值n;
}
枚举的常量值一定是可列举的有限值,常量值的类型都是 public static final。
枚举和字符串转化
public static void main(String[] args) {
// 声明一个Gender枚举类型的变量gender,并取值为男
Gender gender = Gender.男;
// 枚举值->字符串
System.out.println(gender.toString());
// 字符串串-> 枚举值
String str = "保密";
// 可能产生IllegalArgumentException 非法参数异常
Gender gender2 = Enum.valueOf(Gender.class, str);
System.out.println(gender2);
}
总结
- 只能够取特定值中的一个
- 使用enum关键字
- 所有的枚举类型隐性地继承自 java.lang.Enum。(枚举实质上还是类!而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是public static final的。可以直接通过枚举类型名直接使用它们。)
- 强烈建议当你需要定义一组常量时,使用枚举类型
常用类枚举和DATE的介绍的更多相关文章
- 常用类(日期时间格式转换,date,枚举)
1 常用类 1.1 日期时间类 计算机如何表示时间? 时间戳(timestamp):距离特定时间的时间间隔. 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(ms ...
- java常用类详细介绍及总结:字符串相关类、日期时间API、比较器接口、System、Math、BigInteger与BigDecimal
一.字符串相关的类 1.String及常用方法 1.1 String的特性 String:字符串,使用一对""引起来表示. String声明为final的,不可被继承 String ...
- Java基础——常用类(Date、File)以及包装类
本文要点: 基本数据类型的包装类 字符串相关类: 不可变字符序列:String 可变字符序列:StringBuffer.StringBuilder 时间处理相关类: Date DateFormat.S ...
- Java 基础 常用API ( 正则表达式,Date类,DateFormat类,Calendar类 )
正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个 ...
- android 系统层 常用类介绍
类名 功能介绍 示意图 surfacemanager为应用程序显示2d和3d程序无缝结合 mediaFramework 基于packetvideocore 该库支持常见视频图片格式的回放和录放譬如mp ...
- 使用Photon引擎进行unity网络游戏开发(二)——Photon常用类介绍
使用Photon引擎进行unity网络游戏开发(二)——Photon常用类介绍 Photon PUN Unity 网络游戏开发 Photon常用类介绍: IPunCallback PUNGIPunCa ...
- 前端(十四)—— JavaScript常用类:Number、Date类、字符串、数组、Math类、正则
JS常用类:Number类.Date类.Math类.字符串.数组.正则 一.Number 1.常用数字 整数:10 小数:3.14 科学计数法:1e5 | 1e-5 正负无穷:Infinity | - ...
- Java常用类:包装类,String,日期类,Math,File,枚举类
Java常用类:包装类,String,日期类,Math,File,枚举类
- android 框架层 常用类介绍
名称 功能描述 示意图 activitymanager 管理应用程序的周期并提供常用的回退功能 window manager 窗口管理者 content provider 用于访问另一个的数据,或者共 ...
随机推荐
- Mongodb系列- CRUD操作介绍
---恢复内容开始--- 一 Create 操作 在MongoDB中,插入操作的目标是一个集合. MongoDB中的所有写入操作在单个文档的层次上都是原子的. For examples, see In ...
- Unity应用架构设计(5)——ViewModel之间如何共享数据
对于客户端应用程序而言,单页应用程序(Single Page Application)是最常见的表现形式.有经验的开发人员往往会把一个View分解多个SubView.那么,如何在多个SubView之间 ...
- np.corrcoef()方法计算数据皮尔逊积矩相关系数(Pearson's r)
上一篇通过公式自己写了一个计算两组数据的皮尔逊积矩相关系数(Pearson's r)的方法,但np已经提供了一个用于计算皮尔逊积矩相关系数(Pearson's r)的方法 np.corrcoef() ...
- 【转载】systemctl命令完全指南
Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器. Systemd是一个系统管理守护进程.工具和库的集合,用于取代System V初始进程.Systemd的功能是 ...
- 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构
什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...
- Datagrip连接SQLServer Connecting DataGrip to MS SQL Server
Connecting DataGrip to MS SQL Server Posted on June 21, 2016 by Maksim Sobolevskiy Some specific nee ...
- Git忽略已经被版本控制的文件(添加.gitignore不会起作用)
说明:已经被维护起来的文件(需要被远程仓库控制),即使加入.gitignore也会无济于事. .gitignore只对那些只存在在本地,而不在远程仓库的文件起作用.(untraked file). 操 ...
- 必问的Java集合框架面试题
Arraylist 与 LinkedList 异同 是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全: 底层数据结构: Arraylist 底层使用 ...
- window alias给cmd命令起别名
场景: Linux的alias命令是个非常实用的工具,任何命令通过alias可以精简到很短,比如:alias l='ls -l' Windows也有alias类似的命令,就是:doskey,开启方法也 ...
- 关于linux下ntp时间同步服务的安装与配置
1.安装ntp服务,要使用时间同步.那么服务端与客户端都需要使用如下命令安装NTP软件包 [root@ ~]# yum install ntp -y 2.如果只是作为客户端的话,配置则可以非常简单,编 ...