Java【常用的日期操作】
java.util.Calendar 类是一个抽象类 ,Calendar 类进行时间和日期的处理
首先获取类实例
Calendar calendar = Calendar.getInstance();//获取当前系统时间
1.设置时间
calendar.set(2013, 5, 4, 13, 44, 51);//年月日时分秒(月份0代表1月)
calendar.set(Calendar.YEAR, 2014);//设置为2014年
calendar.set(Calendar.MONTH, 7);//设置为8月(0代表1月,1代表2月,2代表3月...12代表1月)
calendar.set(Calendar.DATE, 11);//设置为11日
calendar.set(Calendar.HOUR_OF_DAY, 15);//设置为15时
calendar.set(Calendar.MINUTE, 33);//设置为33分
calendar.set(Calendar.SECOND, 32);//设置为32秒
2.获取年月日时分秒
calendar.get(Calendar.YEAR);//年
calendar.get(Calendar.MONTH) + 1;//前一个月+1(必须要+1,不然表示获取前一个月份)
calendar.get(Calendar.DATE);//日
calendar.get(Calendar.HOUR_OF_DAY);//时
calendar.get(Calendar.MINUTE);//分
calendar.get(Calendar.SECOND);//秒
calendar.get(Calendar.DAY_OF_WEEK);//星期(Locale.ENGLISH情况下,周日是1,剩下自己推算)
3.通过运算获取时间
calendar.add(Calendar.YEAR, 1);//年
calendar.add(Calendar.MONTH, 1);//月
calendar.add(Calendar.DATE, 1);//后一天的时间,-1代表前一天的时间
calendar.add(Calendar.HOUR_OF_DAY, -1);//时
calendar.add(Calendar.MINUTE, 1);//分
calendar.add(Calendar.SECOND, 1);//秒
calendar.add(Calendar.DATE, 7);//周
4.和Date类转换
Date转Calendar
//1.首先获取类实例
Calendar calendar = Calendar.getInstance();
Date date = new Date();//当前时间
calendar.setTime(date);//设置为当期时间
Calendar转Date
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
5.格式化时间
Date转String
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//自定义格式:"yyyy年MM月dd日 HH:mm:ss" ,"yyyy-MM-dd HH:mm:ss" 等...
Date time = calendar.getTime();
String dateStr = simpleDateFormat.format(time);
String转Date
String dateStr = "2020-07-21 18:10:12";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parse = simpleDateFormat.parse(dateStr);
6.新功能LocalDate:当前日期格式化
/**
* @description: LocalDate日期处理
* @author: HaoWu
* @create: 2020年09月04日
*/
public class TestPublisher {
public static void main(String[] args) {
/***************** LocalDate ********************/
LocalDate now = LocalDate.now();
//当前日期 2020-09-05
String nowStr = now.toString();
//前一天 2020-09-04
String yesterday1 = now.plusDays(-1).toString();
String yesterday2 = now.minusDays(1).toString();
/***************** LocalTime ********************/
LocalTime nowTime = LocalTime.now();
//hh:MM:ss 时分秒
String nowStr1 = nowTime.toString();
//时
int hour = nowTime.getHour();
//分
int minute = nowTime.getMinute();
//秒
int second = nowTime.getSecond();
/***************** LocalTime ********************/
//这个不标准:2020-09-05T10:20:37.188
LocalDateTime.now().toString();
}
}
7.示例
求打印出前七天的日期,格式为:“2020年07月21日 11:22:22”
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @description: TODO Calendar类基本使用
* @author: HaoWu
* @create: 2020/7/21 17:37
*/
public class CalendarDemo {
public static void main(String[] args) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
for (int i = 1; i < 8; i++) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE,-i);
Date time = calendar.getTime();
System.out.println(simpleDateFormat.format(time));
}
}
}
打印结果
2020年07月20日 18:21:44
2020年07月19日 18:21:44
2020年07月18日 18:21:44
2020年07月17日 18:21:44
2020年07月16日 18:21:44
2020年07月15日 18:21:44
2020年07月14日 18:21:44
Process finished with exit code 0
Java【常用的日期操作】的更多相关文章
- Java中的日期操作
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- Java中的日期操作 分类: B1_JAVA 2015-02-16 17:55 6014人阅读 评论(0) 收藏
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- Java 常用IO流操作详解
1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中. 2.IO流的分类 图示:(主要IO流) 3.字节流 ...
- Java常用api和操作必背
1.数组排序 Java的Arrays类(java.util中)包含用来操作数组(比如排序和搜索)的各种方法. Arrays.sort(各种类型数组) 2.数组转字符串 1)打印数组时可用Arrays. ...
- NSDate常用的日期操作
// 当前时间创建NSDate NSDate *myDate = [NSDate date]; NSLog(@"myDate = %@",myDate); //从现在开始的24小时 ...
- Java经常使用日期操作具体解释
Date类型大多数时间分量计算方法已经被Calendar代替 Date经常用法setTime getTime() new Date();默认获取当前的时间 SimpleDateFormat用来格式化和 ...
- java中的日期操作Calendar和Date
1. Calendar转Date Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); 2. Date ...
- Java常用日期操作
对java中常用的日期操作进行整理. 1.日期格式化 /* * 日期格式化类(必须掌握) * API: * G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Mo ...
- java常用日期类总结
java 常用的日期类有三个Date.SimpleDateFormat.Calendar
随机推荐
- 转:基于 xilinx vivado 的PCIE ip核设置与例程代码详解
连接:https://blog.csdn.net/u014586651/article/details/103826967#comments
- 更优于 Shellinabox 的 web shell 工具 -- ttyd
ttyd 是一个运行在服务端,客户端通过web浏览器访问从而连接后台 tty (pts伪终端)接口的程序,把 shell 终端搬到 web 浏览器中. WebSocket WebSocket 是 HT ...
- 【JavaScript】JS的坚实基础
前言 考虑到在后面的开发中,需要大量的使用js语言去进行开发,所以准备重新规整一下javascript的知识点,专门开了一个js的专栏,用来复习一下js语言.万事开头难,要是后面写的有问题的,欢迎 ...
- 多层pcb线路板的制作流程
PCB制作第一步是整理并检查pcb多层线路板布局(Layout).电路板制作工厂收到PCB设计公司的CAD文件,由于每个CAD软件都有自己独特的文件格式,所以深圳PCB板厂会转化为一个统一的格式Ger ...
- R数据分析:潜类别轨迹模型LCTM的做法,实例解析
最近看了好多潜类别轨迹latent class trajectory models的文章,发现这个方法和我之前常用的横断面数据的潜类别和潜剖面分析完全不是一个东西,做纵向轨迹的正宗流派还是这个方法,当 ...
- Centos上安装MongoDB4.X
一.下载并解压MongoDB 1.下载MongoDB 取件码w2px 2.通过ftp软件上传的服务器上,我的位置:/root/softwares 3.解压并放在opt文件夹下:tar zxvf mon ...
- 学不懂Netty?看不懂源码?不存在的,这篇文章手把手带你阅读Netty源码!
阅读这篇文章之前,建议先阅读和这篇文章关联的内容. 1. 详细剖析分布式微服务架构下网络通信的底层实现原理(图解) 2. (年薪60W的技巧)工作了5年,你真的理解Netty以及为什么要用吗?(深度干 ...
- python实现对象测量
目录: 问题,轮廓找到了,如何去计算对象的弧长与面积(闭合),多边形拟合,几何矩的计算等 (一)对象的弧长与面积 (二)多边形拟合 (三)几何矩的计算 (四)获取图像的外接矩形boundingRect ...
- 行星万象表白墙微信小程序、社交微信小程序,后台完整,支持多区域运营,扫码体验。
简介 中国目前大概有5000个表白墙,累计用户近3000万,是一个庞大的群体,但现在大都以微信朋友圈为基础进行信息中转,但是这种模式经营者和用户都不友好,尤其是经营者无法变现,用户无法公开评论,这些种 ...
- [hdu7074]Little prince and the garden of roses
显然每种颜色的花是独立的,可以分别求出答案后取$\max$ 对于某种颜色$C$,建立一张二分图,左右分别为$n$行$n$列,且第$i$行和第$j$列有边当且仅当$c_{i,j}=C$ 此时,问题即对边 ...