文档章节

用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间

Edik
 Edik
发布于 2015/12/09 20:38
字数 696
阅读 238
收藏 0
package com.zrar.date;
import java.util.Calendar;
/**
 * 
 * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串
 *      1、得到当前日期         today()
 *      2、得到当前月份月初      thisMonth()
 *      3、得到当前月份月底      thisMonthEnd()
 *      4、得到当前季度季初      thisSeason()
 *      5、得到当前季度季末      thisSeasonEnd()
 *      6、得到当前年份年初      thisYear()
 *      7、得到当前年份年底      thisYearEnd()
 *      8、判断输入年份是否为闰年 leapYear
 *      
 * 注意事项:  日期格式为:xxxx-yy-zz (eg: 2007-12-05)
 *
 * 实例:
 *
 * @author pure
 */
public class DateThis {
    private int x;                  // 日期属性:年
    private int y;                  // 日期属性:月
    private int z;                  // 日期属性:日
    private Calendar localTime;     // 当前日期
    public DateThis() {
        localTime = Calendar.getInstance();
    }
    /**
     * 功能:得到当前日期 格式为:xxxx-yy-zz (eg: 2007-12-05)<br> 
     * @return String
     * @author pure
     */
    public String today() {
        String strY = null;
        String strZ = null;
        x = localTime.get(Calendar.YEAR);
        y = localTime.get(Calendar.MONTH) + 1;
        z = localTime.get(Calendar.DATE);
        strY = y >= 10 ? String.valueOf(y) : ("0" + y);
        strZ = z >= 10 ? String.valueOf(z) : ("0" + z);
        return x + "-" + strY + "-" + strZ;
    }
    /**
     * 功能:得到当前月份月初 格式为:xxxx-yy-zz (eg: 2007-12-01)<br> 
     * @return String
     * @author pure
     */
    public String thisMonth() {
        String strY = null;
        x = localTime.get(Calendar.YEAR);
        y = localTime.get(Calendar.MONTH) + 1;
        strY = y >= 10 ? String.valueOf(y) : ("0" + y);
        return x + "-" + strY + "-01";
    }
    /**
     * 功能:得到当前月份月底 格式为:xxxx-yy-zz (eg: 2007-12-31)<br> 
     * @return String
     * @author pure
     */
    public String thisMonthEnd() {
        String strY = null;
        String strZ = null;
        boolean leap = false;
        x = localTime.get(Calendar.YEAR);
        y = localTime.get(Calendar.MONTH) + 1;
        if (y == 1 || y == 3 || y == 5 || y == 7 || y == 8 || y == 10 || y == 12) {
            strZ = "31";
        }
        if (y == 4 || y == 6 || y == 9 || y == 11) {
            strZ = "30";
        }
        if (y == 2) {
            leap = leapYear(x);
            if (leap) {
                strZ = "29";
            }
            else {
                strZ = "28";
            }
        }
        strY = y >= 10 ? String.valueOf(y) : ("0" + y);
        return x + "-" + strY + "-" + strZ;
    }
    /**
     * 功能:得到当前季度季初 格式为:xxxx-yy-zz (eg: 2007-10-01)<br> 
     * @return String
     * @author pure
     */
    public String thisSeason() {
        String dateString = "";
        x = localTime.get(Calendar.YEAR);
        y = localTime.get(Calendar.MONTH) + 1;
        if (y >= 1 && y <= 3) {
            dateString = x + "-" + "01" + "-" + "01";
        }
        if (y >= 4 && y <= 6) {
            dateString = x + "-" + "04" + "-" + "01";
        }
        if (y >= 7 && y <= 9) {
            dateString = x + "-" + "07" + "-" + "01";
        }
        if (y >= 10 && y <= 12) {
            dateString = x + "-" + "10" + "-" + "01";
        }
        return dateString;
    }
    /**
     * 功能:得到当前季度季末 格式为:xxxx-yy-zz (eg: 2007-12-31)<br> 
     * @return String
     * @author pure
     */
    public String thisSeasonEnd() {
        String dateString = "";
        x = localTime.get(Calendar.YEAR);
        y = localTime.get(Calendar.MONTH) + 1;
        if (y >= 1 && y <= 3) {
            dateString = x + "-" + "03" + "-" + "31";
        }
        if (y >= 4 && y <= 6) {
            dateString = x + "-" + "06" + "-" + "30";
        }
        if (y >= 7 && y <= 9) {
            dateString = x + "-" + "09" + "-" + "30";
        }
        if (y >= 10 && y <= 12) {
            dateString = x + "-" + "12" + "-" + "31";
        }
        return dateString;
    }
    /**
     * 功能:得到当前年份年初 格式为:xxxx-yy-zz (eg: 2007-01-01)<br> 
     * @return String
     * @author pure
     */
    public String thisYear() {
        x = localTime.get(Calendar.YEAR);
        return x + "-01" + "-01";
    }
    /**
     * 功能:得到当前年份年底 格式为:xxxx-yy-zz (eg: 2007-12-31)<br> 
     * @return String
     * @author pure
     */
    public String thisYearEnd() {
        x = localTime.get(Calendar.YEAR);
        return x + "-12" + "-31";
    }
    /**
     * 功能:判断输入年份是否为闰年<br>
     * 
     * @param year
     * @return 是:true  否:false
     * @author pure
     */
    public boolean leapYear(int year) {
        boolean leap;
        if (year % 4 == 0) {
            if (year % 100 == 0) {
                if (year % 400 == 0) leap = true;
                else leap = false;
            }
            else leap = true;
        }
        else leap = false;
        return leap;
    }
}


本文转载自:http://www.blogjava.net/pure/archive/2007/12/04/165198.html

Edik
粉丝 9
博文 27
码字总数 3639
作品 0
海淀
程序员
私信 提问
java使用Calendar类获取常用简单工具类

前言: 在工作中,我们经常会用到时间相关的。比如月初、月末、年初、年末、指定月份所在季度的季末、当前时间加X天、x月、x年等这些常用的虽说不难,但是如果要用到,立马又想不起来。这里凯...

799879287
2017/11/22
0
0
【量化学堂】大A股也存在换月效应!!

本文通过从不角度考察换月前后资产收益率,得出换月效应在A股历史上普遍存在的结论,最后分析了产生此现象的原因,本文的统计时间段为2005年11月至2017年12月。全文的内容如下: 数据准备; ...

优矿量化实验室
2018/03/20
0
0
银利小.额.贷.款能拿到款?

银利小.额.贷.款能拿到款?不会是骗人的? 请加我QQ:《739029382》+《739029382》也可以{↓点击百度快照加我QQ真情交流} 我最近想自己开家店,由于没什么可以抵押,银行贷款贷不出来,在网上...

录密码11
2014/05/20
0
0
是否有开源日期/时间操作库-C语言实现的?

请教是否有C语言开源库实现日期/时间的加减推荐 如 : a.20160303-3天 = 20160229 / 20160229+3天 = 20160303 b.20160229 - 1年 = 20150228 c.20160229 - 1年 = 20150201/20150228 至月初或月...

rainlzy
2016/03/26
313
1
10号发工资和20号发工资的公司,区别竟然这么大?

工资的话题 一直占据着职场热度榜单 这不 最近又热起来了 10号发工资和20号发工资, 就能看出一个公司是否靠谱? 对很多工薪族来说 发工资这一天 是脱贫致富的重要日子 也是很多人的还款日子 ...

陈序元
2018/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
9
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
959
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部