package org.apple.date;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* 周期时间
* @author shaoyu
*
*/
public class CycleDate { public static void main(String[] args) { SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E"); Calendar calendar = Calendar.getInstance();
//calendar.setTime(new Date());
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1); // 月加1
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("当月第几周:"+calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("当年第几周:"+calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println(calendar.get(Calendar.DAY_OF_WEEK)-1); // 周减1 int hour_24 = calendar.get(Calendar.HOUR_OF_DAY);
int hour_12 = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println("24小时制 "+hour_24 +":"+ minute +":" + second);
System.out.println("12小时制 "+hour_12 +":"+ minute +":" + second); System.out.println("当前时间:"+dateformat.format(calendar.getTime()) + " || 毫秒数:"+ calendar.getTimeInMillis()); calendar.add(Calendar.MONTH, 1); System.out.println("下一月当前时间:"+dateformat.format(calendar.getTime()) + " || 毫秒数:"+ calendar.getTimeInMillis()); calendar.add(Calendar.WEEK_OF_MONTH, 1); System.out.println("下一周当前时间:" + dateformat.format(calendar.getTime()) + " || 毫秒数:"+ calendar.getTimeInMillis()); calendar.add(Calendar.YEAR, 1); System.out.println("下一年当前时间:" + dateformat.format(calendar.getTime()) + " || 毫秒数:"+ calendar.getTimeInMillis()); //System.out.println("季度开始时间 : "+ dateformat.format(getCurrentQuarterStartTime()));
System.out.println("下一季度结果时间: " + dateformat.format(getCurrentQuarterEndTime(calendar.get(Calendar.MONTH)+4)));
} public Date lastDayOfMonth(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.roll(Calendar.DAY_OF_MONTH, -1);
return calendar.getTime();
} /**
* 当前季度的开始时间
*/
public static Date getCurrentQuarterStartTime() {
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance();
int currentMonth = c.get(Calendar.MONTH) + 1;
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, 6);
else if (currentMonth >= 10 && currentMonth <= 12)
c.set(Calendar.MONTH, 9);
c.set(Calendar.DATE, 1);
now = dateformat.parse(dateformat.format(c.getTime()) + " 00:00");
} catch (Exception e) {
e.printStackTrace();
}
return now;
} /**
* 当前季度的结束时间
*/
public static Date getCurrentQuarterEndTime(int currentMonth) {
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance();
Date now = null;
try {
if (currentMonth >= 1 && currentMonth <= 3) {
c.set(Calendar.MONTH, 2);
c.set(Calendar.DATE, 31);
} else if (currentMonth >= 4 && currentMonth <= 6) {
c.set(Calendar.MONTH, 5);
c.set(Calendar.DATE, 30);
} else if (currentMonth >= 7 && currentMonth <= 9) {
c.set(Calendar.MONTH, 8);
c.set(Calendar.DATE, 30);
} else if (currentMonth >= 10 && currentMonth <= 12) {
c.set(Calendar.MONTH, 11);
c.set(Calendar.DATE, 31);
}
now = dateformat.parse(dateformat.format(c.getTime()) + " 23:59");
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
}

  

java 周期时期计算的更多相关文章

  1. 【Java】Float计算不准确

    大家可能都遇到过,float在计算某些值时,会有不准确的情况. 比如如下情况: > 计算不准确 package com.nicchagil.study.java.demo.No10float计算 ...

  2. Java闰年的计算,Calendar的用法

    Java闰年的计算,Calendar的用法 代码如下: package com.aaa.zuoye; import java.text.ParseException; import java.util ...

  3. Java基础-时间复杂度计算方式

    Java基础-时间复杂度计算方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   时间复杂度通常是衡量算法的优劣的,衡量算法的时间严格来讲是很难衡量的,由于不同的机器性能不用环境 ...

  4. Java Convention 公约数计算

    Java Convention 公约数计算 /** * <html> * <body> * <P> Copyright 1994-2018 JasonInterna ...

  5. Java练习 SDUT-1586_计算组合数

    计算组合数 Time Limit: 1000 ms Memory Limit: 32768 KiB Problem Description 计算组合数.C(n,m),表示从n个数中选择m个的组合数. ...

  6. Java 高精度浮点数计算工具

    说起编程中的高精度数值,我第一反应就是double类型了.的确,double阶码11位,尾数52位,几乎能应对任何苛刻的要求......然而,当我天真地尝试用double来算泰勒展开式的函数值,离散代 ...

  7. Java初学者作业——编写JAVA程序,计算跳水运动员本次动作的最终得分。

    返回本章节 返回作业目录 需求说明: 编写JAVA程序,计算跳水运动员本次动作的最终得分. 规则如下: 在跳水比赛中,共有六位裁判对运动员所完成的动作进行评分,每位裁判的评分在0-10之间,运动员最终 ...

  8. Java对象大小计算

    这篇说说如何计算Java对象大小的方法.之前在聊聊高并发(四)Java对象的表示模型和运行时内存表示 这篇中已经说了Java对象的内存表示模型是Oop-Klass模型. 普通对象的结构如下,按64位机 ...

  9. JAVA中精确计算金额BigDecimal

    package com.chauvet.utils; import java.math.BigDecimal; import java.text.DecimalFormat; import java. ...

随机推荐

  1. apt 软件安装问题

    1.sudo apt-get update由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654 解决方法:安装公钥 sudo apt-key adv --keyser ...

  2. 删除github上的一个repository

    在学github之初,我们免不了会建立一些简单的repository,那么,如何删掉它们呢? 第一步,打开所要删除的repository,比如:meilin.github.io 第二步,点击setti ...

  3. Mac下搭建Vue开发环境

    认知: 注:上面的图片转自Vue2.0 新手入门 — 从环境搭建到发布 1.安装brew 打开终端运行以下命令: /usr/bin/ruby -e "$(curl -fsSL https:/ ...

  4. 四、SpringBoot出现报错:java.lang.NoSuchMethodError: org.springframework.http.MediaType.equalsTypeAndSubtype(Lorg/springframework/util/MimeType;)Z

    idea启动SpringBoot项目后,出现如下错误: 2019-11-19 15:24:44.344 ERROR 39168 --- [nio-8443-exec-1] o.a.c.c.C.[.[. ...

  5. Node fs 创建多层文件夹

    一.dirname()方法 1. 获得路径当中最后一段文件或文件夹所在的路径.多次调用path.dirname将会逐层返回上级目录 var path=require("path") ...

  6. LC 846. Hand of Straights

    Alice has a hand of cards, given as an array of integers. Now she wants to rearrange the cards into ...

  7. MySQL 存储过程 函数 routine 权限

    MySQL 存储过程 函数 routine 权限 Table of Contents 1. mysql存储过程/函数权限 1.1. 相关对象操作权限检查 1.2. 执行权限 1 mysql存储过程/函 ...

  8. 热门搜索词获取java版

    日常生活中经常会有这样的需求,就是网站上.app上需要展示近期热搜的一些词汇,其实常用的做法当然是自己写爬虫去爬,不过这种办法是在太麻烦了,为了节省时间,可以调用一些接口来实现,比如常用的聚合数据,小 ...

  9. 安德鲁1.2Ku全下125C波(CCTV4K除外)

    闲来无事.没事挑战下难度. 前面高楼挡住了,一直没有试过125, 没想到1.2的锅能全下 机器:恐龙机dinobot4K+ 天线:安德鲁1.2ku 接送结果:除4K外所有高清 图片如下

  10. Linux Shell 中 > 和 >> 的异同点和应用场景

    Linux Shell 中 > 和 >> 的异同点和应用场景 > 和 >> 的异同点 举例说明(start.sh 为某个服务的启动脚本,start.log 为某服务 ...