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

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

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

1.代码


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.结果

当天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
上月初0点时间:2014-12-1 0:00:00
本季度開始点时间:2015-1-1 0:00:00
本季度结束点时间:2015-4-1 0:00:00
本年開始点时间:2015-1-1 0:00:00
本年结束点时间:2016-1-1 0:00:00
上年開始点时间:2014-1-1 0:00:00


版权声明:本文博客原创文章。博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117655.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一个多边形内部有3枚钉子_多边形的内部和外部

    一个多边形内部有3枚钉子_多边形的内部和外部Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 24 Accepted Submission(s) : 7Problem DescriptionStatement of the Problem Several drawing applications allow us to draw polygons and almost all of the

    2022年8月10日
    2
  • Camera mipi协议

    Camera mipi协议mipi协议介绍mipi,是MobileIndustryProcessorInterface缩写。mipi移动行业处理器接口。是mipi联盟发起的为移动应用处理器制定的开放标准。分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI,其中CSI(CameraSerialInterface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPICSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。mipiCSI

    2022年6月4日
    44
  • 什么是SQL游标?[通俗易懂]

    什么是SQL游标?[通俗易懂]1.1游标的概念游标(Cursor)它使用户可逐行访问由SQLServer返回的结果集。使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据

    2022年7月4日
    22
  • 写代码会用到哪些常用的软件

    写代码会用到哪些常用的软件  说到代码,做程序员会比较了解,想平时经常写的软件有哪些呢,接下来一起看看。  1、SublimeText  SublimeText是一个跨平台的代码编辑器,同时支持Windows、Linux、MacOSX等操作系统,也是HTML和散文先进的文本编辑器。SublimeText具有漂亮的用户界面和强大的功能,主要功能包括:拼写检查,书签,完整的PythonAPI,Goto功能,即时项目切换,多选择,多窗口等等。  2、Dreamweaver  Dreamweaver是集

    2022年5月30日
    58
  • 免费QQ空间皮肤代码及使用方法[通俗易懂]

    免费QQ空间皮肤代码及使用方法[通俗易懂]免费QQ空间皮肤代码:免费QQ空间蓝色520代码javascript:window.top.space_addItem(1,7976,0,80,0,0,90);空间免费皮肤代码:黑色FLASH相

    2022年7月1日
    20
  • MySQL 重置 root 密码以及修改密码时报错password字段不存在

    MySQL 重置 root 密码以及修改密码时报错password字段不存在

    2022年2月18日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号