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 ...
随机推荐
- 天地图OGC WMTS服务规则
图层名称 服务地址 投影类型 矢量底图 http://t0.tianditu.gov.cn/vec_c/wmts?tk=您的密钥 经纬度投影 http://t0.tianditu.gov.cn/vec ...
- python中的字符串的种种函数
1.连接list:为了将任意包含字符串的 list 连接成单个字符串,可以使用字符串对象的 join 方法. join 只能用于元素是字符串的 list:它不进行任何的强制类型转换.连接一个存在一个或 ...
- asp.net JS取值
<script> $(function () { $.post("RegisterNew.aspx", { "ddlprovince": $(&qu ...
- Python基本语法(一)
注释及注意 #代表注释:冒号:结尾时,接下来的代码会自动缩进,一般为4个空格.Python程序是大小写敏感的. 数据类型和变量 在Python中能够直接处理的数据类型有以下几种: 整数 浮点数 字符串 ...
- web自动化:DOM对象
一. 什么是DOM对象 定义:DOM(Document Object Mode,文档对象模型)是一套web标准,定义了访问HTML文档的一套属性.方法和事件 本质:网页与脚本语言沟通的桥梁.脚本语言通 ...
- websphere6.1升级
1.到IBM websphere官方网站下载相应版本的更新包,如6.1.0-WS-WASSDK-WinX32-FP0000021.pak和6.1.0-WS-WAS-WinX32-FP0000021.p ...
- Agc007_C Pushing Balls
传送门 题目大意 在一条直线上有$N$个球和$N+1$个洞,每两个球之间有一个洞,每两个洞之间有一个球,最左端和最右端都是洞,其中产生的$2N$个间隔满足从左到右是等差数列.你每次随机选择一个未被推进 ...
- BZOJ - 2588 Spoj 10628. Count on a tree (可持久化线段树+LCA/树链剖分)
题目链接 第一种方法,dfs序上建可持久化线段树,然后询问的时候把两点之间的所有树链扒出来做差. #include<bits/stdc++.h> using namespace std; ...
- PostgreSQL学习手册 性能提升技巧
http://www.cnblogs.com/mchina/archive/2012/08/11/2537393.html 一.使用EXPLAIN: PostgreSQL为每个查询都生成一个查询 ...
- ADMEMS软件架构的4个阶段
业界软件架构设计的方法论很多,各有各自的应用场景和特点,下文结合ADMEMS(Architecture Design Method has been Extended to Method System ...