java中常用的时间操作
最近项目设计时间的转换和计算,长时间没用时间操作了,感觉手有点生,所以在这里记录一下:
Date 常用的方法: getTime() 、setTime();
SimpleDateFormate 常用的方法: Formate(Date)、 parse(String s);
Calendar常用的方法:getInstance()、set() 、get()、getActualMaximum()、add()、 gettime()、setTime(Date)。
1.Date date =new Date();//新建时间为当前系统时间
long time =date.getTime();//将时间格式转换long格式
time = time+24*60*60*1000;
date.setTime(time);//将long格式转换为date格式
2.SimpleDateFormat:格式化和解析日期的具体类
String StrD ="2017-06-14 21:02:45";
//yyyy:2017年; MM:06月; dd:14日 HH:21(24小时制,hh:09 12小时 制) mm:02分 ss:45秒
SimpleDateFormat sdfd =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dat =sdfd.parse(StrD);//将字符换转换为Date
String Dstr=sdfd.format(dat);//将Date转换为对应格式的字符串
3.Calendar是抽象类,其提供了一个工厂方法:Calendar getInstance()。该方法可以根据当前系统所在地区获取一个适当的Calendar的子类实现。
A.Calendar calendar = Calendar.getInstance();//默认创建calendar表示的是当前系统的时间
String className =calendar.getClass().getName();
System.out.println(className);//输出的是java.util.GregorianCalendar 的toString返回值
Date date =calendar.getTime();//获取Date类型的时间
B.Calendar calendar = Calendar.getInstance();//通过下边操作设置为2017-12-25
calendar.set(Calendar.YEAR,2017);
calendar.set(Calendar.MONTH,11);
calendar.set(Calendar.DATE,25);
//calendar.set(Calendar.DAY_OF_MONTH, 25);//和上边效果一样
//calendar.set(Calendar.DATE,32);//则变为2018-01-01
C.int weekIndex= calendar.get(Calendar.DAY_OF_WEEK);//周几减一(西方周日为1,周一为2)
int hourIndex=calendar.get(Calendar.HOUR_OF_DAY);//24小时制
int hourIndexs=calendar.get(Calendar.HOUR);//12小时制
int minute=calendar.get(Calendar.MINUTE);//分
int second=calendar.get(Calendar.SECOND);//秒
int days=calendar.get(Calendar.DAY_OF_YEAR);//是一年中的第几天
D. int dayss =calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//这个月最多多少天
int yeardays =calendar.getActualMaximum(Calendar.DAY_OF_YEAR);//这个月最多多少天
E./*
* 当前日期加1
*/
calendar.add(Calendar.DAY_OF_YEAR, 1);
//加两年
calendar.add(Calendar.YEAR, 2);
//加到32 自动切换
calendar.add(Calendar.DAY_OF_YEAR, 11);
//减去12小时
calendar.add(Calendar.HOUR_OF_DAY, 12);
F. Calendar calendar.setTime(date);//将date转换为calendar
Date date= calendar.getTime();//将calendar 转换为date
当前笔者水平有限,难免出现错误,还望大家提出宝贵意见!
java中常用的时间操作的更多相关文章
- python中常用的时间操作
python中常用的时间模块有time和datetime,以下是这两个模块中常用的方法: #先引入模块 import timefrom datetime import datetiem, timezo ...
- JAVA一些常用的时间操作
项目中经常有对时间进行处理的需求,下面是一些常用的操作整理,方便以后再次使用以及做相关复习. 1.字符串转换为日期 /** * 字符串转换为日期 * @param dateStr 需要转换的日期 * ...
- Java中常用的七个阻塞队列第二篇DelayQueue源码介绍
Java中常用的七个阻塞队列第二篇DelayQueue源码介绍 通过前面两篇文章,我们对队列有了了解及已经认识了常用阻塞队列中的三个了.本篇我们继续介绍剩下的几个队列. 本文主要内容:通过源码学习De ...
- Java中常用七个阻塞队列的总结
Java队列总结 通过前面文章的学习,我们对Java中常用队列做了介绍.本文,咱们来对队列做个总结吧. 首先,我们介绍了现实生活中的实际场景(排队买票等),来告诉我们为什么需要使用队列. 队列是一种先 ...
- java中常用的工具类(三)
继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类 ...
- java中常用的工具类(二)
下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- java中常用的工具类(一)
我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...
- Java中常用的运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...
- Java高级特性 第2节 java中常用的实用类(1)
一.Java API Java API即Java应用程序编程接口,他是运行库的集合,预先定义了一些接口和类,程序员可以直接调用:此外也特指API的说明文档,也称帮助文档. Java中常用的包: jav ...
随机推荐
- MyBatis之xml配置配置文件(一)(xml配置文件)
一.properties标签 <properties resource="jdbc.properties"></properties> 使用properti ...
- 执行安装redis报错undefined reference to `__sync_add_and_fetch_4'
执行make命令时报错: zmalloc.o: In function `zmalloc_used_memory': /var/lib/tcommsvr/redis-2.8.0-rc4/src/z ...
- UML类图(三)-------实例
实例分析1——登录模块 某基于C/S的即时聊天系统登录模块功能描述如下: 用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较, ...
- POJ3468 splay
线段树/树状数组裸题,用splay写 splay也是基本操作pushup pushdown 话说我就是找不到全一点的模板,我自己写又全是bug,导致代码风格一直变来变去= = 关键是建树和区间操作(区 ...
- 安装Xcode 7 beta后Xcode 6崩溃的问题
最新解决方案:把OSX El Capitan升级到Beta 7 (15A263e),Xcode6可使用! 解决方案:http://stackoverflow.com/questions/318035 ...
- SpringBoot使用devtools导致的类型转换异常
遇到的问题:SpringBoot项目中的热部署引发的血的教训,报错代码位置: XStream xStream1 = new XStream(); xStream1.autodetectAnnotati ...
- 1.Linux和Unix区别
整理来源于网络:http://blog.csdn.net/xiaojianpitt/article/details/6377419 有很多初学Linux的人比较关心Linux和windows的区别,这 ...
- 使用PHP配置文件
/**************************************************************************************** * 使用PHP配置文 ...
- Gym - 100502G Outing (强连通缩点+树形依赖背包)
题目链接 问题:有n个人,最多选k个,如果选了某个人就必须选他指定的另一个人,问最多能选多少个人. 将每个人所指定的人向他连一条单向边,则每一个点都有唯一的前驱,形成的图是个基环树森林,在同一个强连通 ...
- UVA - 11922 Permutation Transformer (splay)
题目链接 题意:你的任务是根据m条指令改变排列{!,2,3,...,n}.每条指令(a,b)表示取出第a~b个元素,翻转后添加到排列的尾部.输出最终序列. 解法:splay对区间分裂合并翻转,模板题. ...