Java获取当天、本周、本月、本季度、本年等 开始及结束时间
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();
} }
输出结果:
当天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://blog.csdn.net/whzhaochao/article/details/40186805
Java获取当天、本周、本月、本季度、本年等 开始及结束时间的更多相关文章
- c# 获取 本周、本月、本季度、本年 的开始时间或结束时间
#region 获取 本周.本月.本季度.本年 的开始时间或结束时间 /// <summary> /// 获取结束时间 /// </summary> /// <param ...
- java获取当天,前天,明天,本周,本月,本年的开始日期时间和结束日期时间
package demoone; import java.sql.Timestamp; import java.text.ParseException; import java.text.Simple ...
- Java获取当天、当前月、当前年(今年)的开始和结束时间戳
最近在做统计相关的功能的时候涉及到了获取当天的开始和结束的时间戳.当月和当年的开始结束时间戳,特此记录,以作备忘. 相关代码 package com.lingyejun.authenticator; ...
- c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
DateTime dt = DateTime.Now; //当前时间 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") //24小时制 ...
- php 获取今日、昨日、本周,上周、本月,上月,季度的起始时间戳和结束时间戳的方法
php 获取今日.昨日.上周.本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime.下面首先还是直奔主题以示例说明如何使用 mktime 获取今日.昨日.上周.本月的起始 ...
- PHP 时间获取本周 本月 本季度用法
<?php $week_begin = mktime(0, 0, 0,date("m"),date("d")-date("w&qu ...
- Java获取当天或者明天等零点时间(00:00:00)0时0分0秒的方法
SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = ...
- java 获取当天(今日)零点零分零秒
两种方法 一种得到的是时间戳,一种得到是日期格式: 1.日期格式的 Calendar calendar = Calendar.getInstance(); calendar.setTime(new D ...
- java获取当前上一周、上一月、上一年的时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calend ...
随机推荐
- [ZOJ]3541 Last Puzzle (区间DP)
ZOJ 3541 题目大意:有n个按钮,第i个按钮在按下ti 时间后回自动弹起,每个开关的位置是di,问什么策略按开关可以使所有的开关同时处于按下状态 Description There is one ...
- 《编程导论(Java)·7.4.4 String对象问题》
String是Java API中使用频率第一的类,曾经在CSDN论坛上.至少每一个月都有相关的贴子,讨论==和equals(). 本节介绍这一部分的内容,也有一个重要更正. String文字在程序中被 ...
- 防止 Chrome 屏蔽 非官方 扩展程序 教程(二)
说明 前面介绍过一篇通过开发人员模式载入扩展程序的方法,尽管能够正常使用,可是每次又一次打开 Chrome 都会弹出询问窗体,比較麻烦.这里介绍第二种防止屏蔽的方法.与前一种方法相比,尽管应用的步骤多 ...
- h5-注册成功
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdUAAAGnCAIAAABuMVpqAAAgAElEQVR4nOy9eXQTd57om2R6uvtO3z ...
- ComponentName
ComponentName,顾名思义,就是组件名称,通过调用Intent中的setComponent方法,我们可以打开另外一个应用中的Activity或者服务. 实例化一个ComponentName需 ...
- NEU 1006 Intermediary
1006: Intermediary 时间限制: 1 Sec 内存限制: 128 MB提交: 261 解决: 25[提交][状态][讨论版] 题目描述 It is widely known tha ...
- 2016 提高组c++ 错题
需重做 树的重心 链表 计算机基础知识 无线通讯技术: 蓝牙,wifi,GPRS 现在常用的无线通信技术:FM调频广播(用于收音机): 2G.3G移动通信技术(中国移动.中国联通.中国电信正在运营的网 ...
- 关于udebug的使用
关于udebug的使用 特别强调: 转载于此 当你做国外OJ的题目时,总是不知道有什么问题,用题解打对拍都发现不出来,看到某道可恶美好的英文题目WA掉时,又不能下载样例时,会觉得很无奈吧.我们可以使用 ...
- HTML、CSS和JS中注释类型的总结
添加必要的注释,是一个优秀的程序员必须具备的好习惯,可以大大提高代码的可维护性.可读性. 1.HTML注释 <!--注释的内容--> 注释的地方(根据个人习惯可能有所不同): 结束标签的后 ...
- iOS8新特性之交互式通知
目前分为四个推送:用户推送,本地推送,远程推送,地理位置推送. if (IS_IOS8) { //1.创建消息上面要添加的动作(按钮的形式显示出来) UIMutableUserNotification ...