Java获取上一周、上一个月、上一年的时间

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Calendar c = Calendar.getInstance();

1.过去七天

c.setTime(new Date());
c.add(Calendar.DATE, - 7);
Date d = c.getTime();
String day = format.format(d);
System.out.println(“过去七天:”+day);

2.过去一月

c.setTime(new Date());
c.add(Calendar.MONTH, -1);
Date m = c.getTime();
String mon = format.format(m);
System.out.println(“过去一个月:”+mon);

3.过去三个月

c.setTime(new Date());
c.add(Calendar.MONTH, -3);
Date m3 = c.getTime();
String mon3 = format.format(m3);
System.out.println(“过去三个月:”+mon3);

4.过去一年

c.setTime(new Date());
c.add(Calendar.YEAR, -1);
Date y = c.getTime();
String year = format.format(y);
System.out.println(“过去一年:”+year);

5.现在时间24小时制

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String nowDate=format.format(new Date());
System.out.println(nowDate);

6.当天的开始时间

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
String start = format.format(c.getTime())+" 00:00:00";
System.out.println(start);

7.当天的截止时间

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar calendar = Calendar.getInstance();
String end = format.format(calendar.getTime())+" 23:59:59";
System.out.println(end);

8.当前时间的前一个星期 开始时间

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, -6);
String start = format.format(c.getTime())+" 00:00:00";
System.out.println(start);

9.当天日期前一个月

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1); //得到前一个月
String start = format.format(c.getTime())+" 00:00:00";
System.out.println(start);

10.当前时间的前一年开始时间

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, -1); //年份减1
String start =format.format(c.getTime())+" 00:00:00";
System.out.println(start);

11.当前时间的周一时间和周末时间 setfirstdayofweek()方法

SimpleDateFormat format = new SimpleDateFormat(“YYYY-MM-dd “);
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
String weekStart = format.format(c.getTime())+00:00:00;
System.out.println(weekStart);
Calendar ca = Calendar.getInstance();
ca.setFirstDayOfWeek(Calendar.MONDAY);
ca.set(Calendar.DAY_OF_WEEK, ca.getFirstDayOfWeek() + 6); // Sunday
String weekEnd = format.format(ca.getTime())+" 23:59:59";
System.out.println(weekEnd);

12.当前时所在月份的第一天和最后一天

SimpleDateFormat format=new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
String monthStart = format.format(c.getTime())+" 00:00:00";
System.out.println(monthStart);
Calendar ca = Calendar.getInstance();
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
String monthEnd = format.format(ca.getTime())+" 23:59:59";
System.out.println(monthEnd);

13.当期时间所在年份的开始时间

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.set(c.get(Calendar.YEAR) ,0, 1);//开始时间日期
String yearStart = format.format(c.getTime())+" 00:00:00";
System.out.println(yearStart);
Calendar ca = Calendar.getInstance();
ca.set(ca.get(Calendar.YEAR) ,11, ca.getActualMaximum(Calendar.DAY_OF_MONTH));//结束日期
String yearEnd = format.format(ca.getTime())+" 23:59:59";
System.out.println(yearEnd);

14.计算时间差取得两个时间的微秒级的时间差

//得微秒级时间差
long val = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis();
//换算后得到天数
long day = val / (1000 * 60 * 60 * 24);

15.获取某个时间的上周一和周日

Calendar cal = Calendar.getInstance();
//n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推
int n = 1;
String monday;
cal.add(Calendar.DATE, n*7);
//想周几,这里就传几Calendar.MONDAY(TUESDAY…)
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
monday = new SimpleDateFormat(“yyyy-MM-dd”).format(cal.getTime());
System.out.println(monday);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

远程网络安装RHEL5

一:Linux安装工作原理 众所周知,在安装过程中Linux首先需要一个引导程序来让安装光盘启动,再实行配置与安装。但目前转化为远程网络安装那么就需要我们的安装程序能够远程地通过网络传送给客户端。因此在搭建远程Linux安装服务器时候首先要值…

sed命令操作

sed 是一种数据流编辑器,它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区(pattern space称为“模式空间”)中,在内存中处理,完成后把该行发送到屏幕上,清理pattern space中的内容,接着重复刚才的动作,读入下一行,直到文件处理结束。文件内容并没有 改变,…

Portainer简介及部署

一、介绍 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用…

Nexus搭建Maven私有仓库

一、使用Docker安装Nexus 1、查询当前有哪些Nexus镜像 docker search nexus2、下载sonatype/nexus3 docker pull docker.io/sonatype/nexus33、运行nexus容器 mkdir -p /usr/local/nexus3/nexus-data #新建挂载目录 chown -R 200 /usr/local/nexus3/nexus-datadocker run -…

VI资料收集

1.6.1 vi 的工作模式Vi 在初始启动后首先进入编辑模式,这时用户可以利用一些预先定义的按键来移动光标、删除文字、复制或粘贴文字等。这些按键均是普通的字符,例如 l 是向右移动光标,相当于向右箭头键,k 是向下移动光标&#xff…

linux终端

终端就是处理计算机主机输入输出的一套设备,它用来显示主机运算的输出,并且接受主机要求的输入,典型的终端包括显示器键盘套件,打印机打字机套件等 linux终端类型终端名称标识含义串行端口终端Serial Port Terminal/dev/ttySx 串行…

日常问题——VMware下的CentOS7 Ping不通百度

问题描述: 在VMware下新创建的CentOS ping 不通百度 解决方案: 1、点击VMware的编辑按钮下的虚拟网络编辑器 2、更改设置后,选择NAT类型,点击NAT设置 3、记录下,子网ip,掩码,网管IP信息 4、…

linux查找文件find

查找命令文件whatis 从path还从man中查找which 从path环境变量中查找文件查找locate /var/lib/mlocate/mlocate.db 通过update更新数据库 find 默认动作是 -print -ls -delete -ok -exec 命令 {} \; -name根据文件名查找-iname忽略大小写-size根据文件及目录大小查找…

linux下用ntp对时

更新系统时间的命令用&#xff1a;ntpdate <时间服务器>教育网下常用的时间服务器有s1a.time.edu.cn&#xff0c;或者210.72.145.44ntpdate 210.72.145.44更多教育下的时间服务器可在这里找到&#xff1a; http://www.time.edu.cn/mem.htm。如果想让系统退出时的把时间写…

CentOS7.6下安装Ambari

一、准备工作 1.1、准备三台CentOS 1.2、配置静态IP、DNS vi /etc/sysconfig/network-scripts/ficfg-ens33IPADDR为 配置的ip NETMASK 子网掩码 GATEWAY 网关 配置保存后重启虚拟网络 service network restart1.3、配置Hostname vi /etc/hostname#将第一行替换成新名字 m…

多主机推送公钥、修改配置、修改密码脚本

推送公钥&#xff1a; !#/bin/bash if [! -f ~/.ssh/id_rsa ] ;thenssh-keygen -P "" -f ~/.ssh/id_rsa fifor i in seq 100 do {ip192.168.1.$iping -c1 $ip &>/dev/nullif [ $? -eq 0];thenecho $ip |tee addreee/usr/bin/expect<<-EOFset time 10…

shell生活序

从编程语言的观点看linux shell-变量的作用域&#xff0c;环境变量&#xff0c;位置变量我们仍以BASH 为讨论的shell 语言每一种编程语言中&#xff0c;我们都会碰到变量的作用域的问题。&#xff08;比如在函数中定义的变量在函数外不能使用的)BASH 中也有类似的问题&#xff…

linux下安装phantomjs

PhantomJS俗称为&#xff1a;无界面的浏览器。 PhantomJS是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能&#xff0c;使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情。 1、下载安装包 官网下载地址&#xff1a;htt…

shell 生活0806012145

引用&#xff1a;        学习 Shell Scripts 如果您真的很想要走信息这条路&#xff0c;并且想要好好的管理好属于您的主机&#xff0c;那么&#xff0c;别说鸟哥不告诉您&#xff0c; Shell Scripts 真的是必须要学习的一项课题呢&#xff01;基本上&#xff0c; shel…

linux系统启动流程详解

一、MBR的概念 主引导扇区位于硬盘的0磁道0柱面1扇区,共512bytes,可存放一小段程序及主分区表,由三大部分组成: 硬盘主引导记录MBR(Master Boot Record)占446bytes 分区表DPT(Disk Partition Table)占64bytes 硬盘有效标志(Magic Number)占2bytes。 硬盘…

linux下安装davinci

官网地址 https://edp963.github.io/davinci/ 1、准备 JDK 1.8&#xff08;或更高版本&#xff09; MySql5.5&#xff08;或更高版本&#xff09; Mail Server (本人测试可以不用安装) phantomjs 或 chrome&#xff08;需同时安装chromedriver&#xff0c;清注意版本&#xf…

GRUB详解

一、GRUB介绍 GRUB (GRand Unified Bootloader)是GNU 下的FSF 组织所推行的一套多重开机管理软件,目前 GRUB 在 Linux 上使用的版本为 0.97 版,FSF 的官方网站表示已经不会在此版本上再追加任何新的功能,会将心思放在 GRUB 2 上。 GNU GRUB(GRand Unified Bootloader)是一…

好用的yum

从Windows转到Linux下面&#xff0c;一个不习惯的地方就是在图形界面下安装和删除软件的时候非常缓慢。但是如果你掌握了用yum的命令行模式进行配置程序&#xff0c;你肯定会从心底喜欢上这个强大的工具。因为yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令&#…

Ambari系统架构

一、Ambari系统架构 Ambari框架采用的是Server/Client的模式&#xff0c;主要由两部分组成&#xff1a;ambari-agent和ambari-server。ambari依赖其它已经成熟的工具&#xff0c;例如其ambari-server 就依赖python&#xff0c;而ambari-agent还同时依赖ruby, puppet&#xff0…

Linux系统的基本安装

一、制作Linux安装启动盘 1.准备一个干净的U盘&#xff0c;格式化。 2.下载64位系统镜像&#xff1a;rhel-server-6.8-x86_64-dvd.iso。64位系统直接安装就好&#xff0c; 3.首先制作一个启动盘&#xff0c;解压rhel-server-6.8-i386-dvd.iso文件 4.下载安装UltraISO&#…