相关文章推荐
爱笑的小蝌蚪  ·  Eclipse ...·  10 月前    · 
焦虑的针织衫  ·  sql查出好几条出来时间都重复的记录,怎么保 ...·  11 月前    · 
大力的充值卡  ·  新版Edge浏览器兼容模式如何设置 - ...·  1 年前    · 
开朗的书签  ·  网络安全编程:目录监控工具-应用程序监控工具·  1 年前    · 
微醺的豌豆  ·  SPARK-SQL内置函数之字符串函数 - ...·  1 年前    · 
Code  ›  Java获取的一天、本星期、这个月、本季度、一年等 开始和结束时间开发者社区
date simpledateformat
https://cloud.tencent.com/developer/article/2041225
帅气的闹钟
8 月前
全栈程序员站长

Java获取的一天、本星期、这个月、本季度、一年等 开始和结束时间

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
全栈程序员站长
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > Java获取的一天、本星期、这个月、本季度、一年等 开始和结束时间

Java获取的一天、本星期、这个月、本季度、一年等 开始和结束时间

作者头像
全栈程序员站长
发布 于 2022-07-05 20:22:45
809 0
发布 于 2022-07-05 20:22:45
举报
文章被收录于专栏: 全栈程序员必看

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

1.代码

代码语言: javascript
复制
package com.zhaochao.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DataUill {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("当天24点时间:" + getTimesnight().toLocaleString());
		System.out.println("当前时间:" + new Date().toLocaleString());
		System.out.println("当天0点时间:" + getTimesmorning().toLocaleString());
		System.out.println("昨天0点时间:" + getYesterdaymorning().toLocaleString());
		System.out.println("近7天时间:" + getWeekFromNow().toLocaleString());
		System.out.println("本周周一0点时间:" + getTimesWeekmorning().toLocaleString());
		System.out.println("本周周日24点时间:" + getTimesWeeknight().toLocaleString());
		System.out.println("本月初0点时间:" + getTimesMonthmorning().toLocaleString());
		System.out.println("本月未24点时间:" + getTimesMonthnight().toLocaleString());
		System.out.println("上月初0点时间:" + getLastMonthStartMorning().toLocaleString());
		System.out.println("本季度開始点时间:" + getCurrentQuarterStartTime().toLocaleString());
		System.out.println("本季度结束点时间:" + getCurrentQuarterEndTime().toLocaleString());
		System.out.println("本年開始点时间:" + getCurrentYearStartTime().toLocaleString());
		System.out.println("本年结束点时间:" + getCurrentYearEndTime().toLocaleString());
		System.out.println("上年開始点时间:" + getLastYearStartTime().toLocaleString());
	// 获得当天0点时间
	public static Date getTimesmorning() {
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.HOUR_OF_DAY, 0);
		cal.set(Calendar.SECOND, 0);
		cal.set(Calendar.MINUTE, 0);
		cal.set(Calendar.MILLISECOND, 0);
		return cal.getTime();
	// 获得昨天0点时间
	public static Date getYesterdaymorning() {
		Calendar cal = Calendar.getInstance();
		cal.setTimeInMillis(getTimesmorning().getTime()-3600*24*1000);
		return cal.getTime();
	// 获得当天近7天时间
	public static Date getWeekFromNow() {
		Calendar cal = Calendar.getInstance();
		cal.setTimeInMillis( getTimesmorning().getTime()-3600*24*1000*7);
		return cal.getTime();
	// 获得当天24点时间
	public static Date getTimesnight() {
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.HOUR_OF_DAY, 24);
		cal.set(Calendar.SECOND, 0);
		cal.set(Calendar.MINUTE, 0);
		cal.set(Calendar.MILLISECOND, 0);
		return cal.getTime();
	// 获得本周一0点时间
	public static Date getTimesWeekmorning() {
		Calendar cal = Calendar.getInstance();
		cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
		cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
		return cal.getTime();
	// 获得本周日24点时间
	public static Date getTimesWeeknight() {
		Calendar cal = Calendar.getInstance();
		cal.setTime(getTimesWeekmorning());
		cal.add(Calendar.DAY_OF_WEEK, 7);
		return cal.getTime();
	// 获得本月第一天0点时间
	public static Date getTimesMonthmorning() {
		Calendar cal = Calendar.getInstance();
		cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
		cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
		return cal.getTime();
	// 获得本月最后一天24点时间
	public static Date getTimesMonthnight() {
		Calendar cal = Calendar.getInstance();
		cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
		cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
		cal.set(Calendar.HOUR_OF_DAY, 24);
		return cal.getTime();
	public static Date getLastMonthStartMorning() {
		Calendar cal = Calendar.getInstance();
		cal.setTime(getTimesMonthmorning());
		cal.add(Calendar.MONTH, -1);
		return cal.getTime();
	public static Date getCurrentQuarterStartTime() {
		Calendar c = Calendar.getInstance();
		int currentMonth = c.get(Calendar.MONTH) + 1;
		SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");
		Date now = null;
		try {
			if (currentMonth >= 1 && currentMonth <= 3)
				c.set(Calendar.MONTH, 0);
			else if (currentMonth >= 4 && currentMonth <= 6)
				c.set(Calendar.MONTH, 3);
			else if (currentMonth >= 7 && currentMonth <= 9)
				c.set(Calendar.MONTH, 4);
			else if (currentMonth >= 10 && currentMonth <= 12)
				c.set(Calendar.MONTH, 9);
			c.set(Calendar.DATE, 1);
			now = longSdf.parse(shortSdf.format(c.getTime()) + " 00:00:00");
		} catch (Exception e) {
			e.printStackTrace();
		return now;
	 * 当前季度的结束时间。即2012-03-31 23:59:59
	 * @return
	public static Date getCurrentQuarterEndTime() {
		Calendar cal = Calendar.getInstance();
		cal.setTime(getCurrentQuarterStartTime());
		cal.add(Calendar.MONTH, 3);
		return cal.getTime();
	public static Date getCurrentYearStartTime() {
		Calendar cal = Calendar.getInstance();
		cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
		cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.YEAR));
		return cal.getTime();
	public static Date getCurrentYearEndTime() {
		Calendar cal = Calendar.getInstance();
		cal.setTime(getCurrentYearStartTime());
		cal.add(Calendar.YEAR, 1);
		return cal.getTime();
	public static Date getLastYearStartTime() {
		Calendar cal = Calendar.getInstance();
		cal.setTime(getCurrentYearStartTime());
		cal.add(Calendar.YEAR, -1);
		return cal.getTime();
}

2.结果

代码语言: javascript
复制
当天24点时间:2015-1-18 0:00:00
当前时间:2015-1-17 10:50:57
当天0点时间:2015-1-17 0:00:00
昨天0点时间:2015-1-16 0:00:00
近7天时间:2015-1-10 0:00:00
本周周一0点时间:2015-1-12 0:00:00
本周周日24点时间:2015-1-19 0:00:00
本月初0点时间:2015-1-1 0:00:00
本月未24点时间:2015-2-1 0:00:00
 
推荐文章
爱笑的小蝌蚪  ·  Eclipse 设置断点无效、不能debug_sts远程debug拦截不到断电-CSDN博客
10 月前
焦虑的针织衫  ·  sql查出好几条出来时间都重复的记录,怎么保留时间最早的那条,其他的去除 - CSDN文库
11 月前
大力的充值卡  ·  新版Edge浏览器兼容模式如何设置 - Microsoft Community
1 年前
开朗的书签  ·  网络安全编程:目录监控工具-应用程序监控工具
1 年前
微醺的豌豆  ·  SPARK-SQL内置函数之字符串函数 - 飞末 - 博客园
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号