常用类枚举和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 用于访问另一个的数据,或者共 ...
随机推荐
- 安装APK失败,错误代码:INSTALL_FAILED_INVALID_APK 解决方案
错误代码:installation failed with message failed to finalize session:INSTALL_FAILED_INVALID_APK 解决方法如下:
- nlp资料网站
原文地址 http://blog.sina.com.cn/s/blog_574a437f01019poo.html 昨天实验室一位刚进组的同学发邮件来问我如何查找学术论文,这让我想起自己刚读研究生时茫 ...
- 【转】IT大牛博客
原文:http://blog.csdn.net/qq1175421841/article/details/49384841 首届中国最受欢迎50大技术博客获奖名单如下: 第一名:李会军 http:/ ...
- 当我们用自定义的类对象作为key时,我们必须在程序中覆盖HashCode()和equals()。
Key值既然可以作为对象,那么也可以用一个自定义的类.比如: m.put(new sutdent(“Liucy”,30),”boss”) 如果没有语句来判定Student类对象是否相同,则会全部打印出 ...
- js上传
有时候需要显示进度,这时候就需要做一些切割,具体上传代码如下: <!DOCTYPE HTML> <html lang="en-US"> <head&g ...
- 【GIS】Mapbox-json配置
1.json的MIME配置 application/json 问题:客户端浏览器不接受 MIME 类型的请求页面
- Java 一致性Hash算法的学习
目前我们很多时候都是在做分布式系统,但是我们需把客户端的请求均匀的分布到N个服务器中,一般我们可以考虑通过Object的HashCodeHash%N,通过取余,将客户端的请求分布到不同的的服务端.但是 ...
- Redis 主从配置(Windows版)
安装从库 1.复制一份 Redis 文件,当做从库. 2.修改从库文件中 redis.windows.conf 的端口号. 3.安装服务,需要重新设置名称.然后去服务中,开启“redis6380”(此 ...
- Excel反序排列
实际工作中有这样一个需求,将Excel列表中所有的条目进行反序排列,有人说这还不简单直接选中某一列按照这列排序(升序或降序)就可以了. 但问题是这里没有可以参考的列,进行排序. 比如: 想转换为: 那 ...
- GO语言-基础语法:循环
golang只有for没有while package main import ( "fmt" "os" "bufio" ) func for ...