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【常用的日期操作】的更多相关文章

  1. Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  2. Java中的日期操作 分类: B1_JAVA 2015-02-16 17:55 6014人阅读 评论(0) 收藏

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  3. Java 常用IO流操作详解

    1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中. 2.IO流的分类 图示:(主要IO流) 3.字节流 ...

  4. Java常用api和操作必背

    1.数组排序 Java的Arrays类(java.util中)包含用来操作数组(比如排序和搜索)的各种方法. Arrays.sort(各种类型数组) 2.数组转字符串 1)打印数组时可用Arrays. ...

  5. NSDate常用的日期操作

    // 当前时间创建NSDate NSDate *myDate = [NSDate date]; NSLog(@"myDate = %@",myDate); //从现在开始的24小时 ...

  6. Java经常使用日期操作具体解释

    Date类型大多数时间分量计算方法已经被Calendar代替 Date经常用法setTime getTime() new Date();默认获取当前的时间 SimpleDateFormat用来格式化和 ...

  7. java中的日期操作Calendar和Date

    1. Calendar转Date Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); 2. Date ...

  8. Java常用日期操作

    对java中常用的日期操作进行整理. 1.日期格式化 /* * 日期格式化类(必须掌握) * API: * G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Mo ...

  9. java常用日期类总结

    java 常用的日期类有三个Date.SimpleDateFormat.Calendar

随机推荐

  1. 链表中环的入口结点 牛客网 剑指Offer

    链表中环的入口结点 牛客网 剑指Offer 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. # class ListNode: # def __init__(se ...

  2. 算法学习->求解三角形最小路径及其值

    00 问题 00-1 描述 对给定高度为n的一个整数三角形,找出从顶部到底部的最小路径和.每个整数只能向下移动到与之相邻的整数. 找到一个一样的力扣题:120. 三角形最小路径和 - 力扣(LeetC ...

  3. sed tr 批量转换邮箱格式 去除"\n" 行尾添加";"

    1:从phpmyadmin上拿下来的数据是这样的: 2:od -c 发现存在\r\n (windows上编码问题) $ od -c sql.csv 先将\r处理掉 $ sed 's/\r//' sql ...

  4. Ubuntu 安装 mysql 报错 "update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在"

    解决方法: sudo cp /etc/mysql/my.cnf /etc/mysql/mysql.cnf 偷梁换柱-! 如果想更新mysql的源方法如下: wget http://dev.mysql. ...

  5. Window黑客编程之资源释放技术

    前言 今天说一下写病毒木马会广泛使用的一种技术--资源释放技术.为什么我们在写木马时会使用到资源释放技术呢?这是因为它可以使我们写的程序变得简洁.如果程序需要额外加载一些DLL文件或者文本文件,我们可 ...

  6. 2019年java大型项目技术选型

    学习一下 1,公司使用的架构是:SpringCloud + K8S 这一套主流技术,但是还是入门级别的. 还包含apollo  ,xxlJob ,SkyWalking,Cat,GrayLog等 2,G ...

  7. celery kill task

    from celery.task.control import revokerevoke(task_id, terminate=True) https://stackoverflow.com/ques ...

  8. 《Python语言程序设计》【第3周】基本数据类型

    实例3:天天向上的力量 #DayDayUpQ1.py dayup = pow(1.001,365) daydown = pow(0.999,365) print("向上: {:.2f},向下 ...

  9. jenkins内置变量的使用

    参考链接:  https://www.cnblogs.com/puresoul/p/4828913.html 一.查看Jenkins有哪些环境变量 1.新建任意一个job 2.增加构建步骤:Execu ...

  10. element ui tree回显 setCheckedNodes,setCheckedKeys,setChecked等函数报undefined问题

    在写项目的时候,需要用到tree组件进行回显来进行权限控制: 在回显过程中使用回显函数会报报undefined, 这时只需要给该函数包裹一层nextTick方法就行了, 在回显过程中我们有可能使用半选 ...