@Java时间类型基本操作及常见处理
java中获得时间
1、
new Date();
结果:Wed Sep 18 08:50:54 CST 2019
其中CST表示Central Standard Time 中央时间 其中常用的还有GMT 表示格林威治时间 即0时区时间
2、
new Date().getTime();
System.currentTimeMillis();
结果:1568768599593 十进制数表示时间
3、
new Date().toLocaleString();
结果:2019-9-18 9:06:28 表示层常用格式
以上三种为常用时间表示形式
Date类为java.util.Date
Date类常用方法
new Date(1568593663032L);//参数为Long型
new Date().getTime();//获得十进制时间
new Date().getYear();//获得对象年 具体值为(对象年-1900) int类型
new Date().setYear(int year);//设置年 具体值为(传入值+1900)int类型
new Date().getMonth();//获得对象月 具体值为(对象月-1)int类型
new Date().setMonth(int month);//设置对象月 具体值为(对象月)int类型
new Date().getDate();//获得对象日 int类型
new Date().setDate(int date);//设置对象日 int类型
new Date().getHours();//获得对象时 int类型
new Date().setHours(int hours);//设置对象时 int类型
new Date().getMinutes();//获得对象分 int类型
new Date().setMinutes(int minutes);//设置对象分 int类型
new Date().getSeconds();//获得对象秒 int类型
new Date().setSeconds(int seconds);//设置对象秒 int类型
new Date().getDay();//获得对象周 int类型 (0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday)
在日常操作中 前端与后端之间的传递会有不同类型的装换
所以需要用到日期格式化DateFomat
经常会有String类型的format
例如得到String str = “2019-9-16 8:27:43”;
我们只需要年月日返回至前端 这时需要使用类-SimpleDateFormat及ParsePosition
String str = "2019-9-16 8:27:43";
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");//设置想要得到的时间格式
ParsePosition pos1 = new ParsePosition(0);//设置从字符串哪个位置开始取 一般为0 即始位置
format1.parse(str,pos1);//parse方法得到Date类型 得到Date类型后 可通过上面常用方法进行变形
format1.format(format1.parse(str,pos1));//得到String类型 格式为yyyy-MM-dd 结果 2019-09-16 这里注意09 和上面toLocaleString()不一样
同理 常用日期格式化有
yyyy-MM-dd HH:mm:ss 年-月-日 时-分-秒
yyyy-MM-dd HH:mm 年-月-日 时-分
HH:mm:ss 时-分-秒
等等
通过上面总结发现 主要是String Long Date类型之间的装换
Long一般在后端进行运算
Date作为前后端的中转
String一般为前端的表示
可通过上面方法进行灵活转换
除上面方法外 还有类-Calendar日历类 属-java.util.Calendar (java下的工具类)
Calendar calendar =Calendar.getInstance();//初始化
calendar.setTime(new Date());//设置时间 传参为Date类型
下面常用此类获得时间类型细节值
calendar.get(Calendar.DAY_OF_MONTH)//获得分
calendar.get(Calendar.MINUTE)//获得当月某天
calendar.set(Calendar.MINUTE, 10);//当前时间分加10
等等
下面是个人对于时间的看法
格式yyyy-MM-dd HH:mm:ss 年-月-日 时-分-秒
最长见就是这种格式
从其它角度 比如说频率的角度
yyyy-每一年变化一次
MM-每一月变化一次
dd-每一天变化一次
HH-每一小时变化一次
mm-每一分变化一次
ss-每一秒变化一次