java的Calendar

参考:http://dlc.sun.com.edgesuite.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html/zh_CN/api/


今天看到别人写的日,月,季,年报表.这里就涉及到日期,代码用了几个switch,if,一时用30号,一时用31号,在数据库还调用lastday函数...
java里面的有个日期的好工具Calendar,或许有些人不知道.
就上面的日期需求使用Calendar可以轻易满足需求.下面假设parameter是从页面传过来的一个时间或当前时间.注释就不写了,通过上面的API就易懂.

package com.example;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
 * 注意:Calendar的月是从0开始,日是从1开始
 */
public class Main {
    private static final DateFormat DATE_FORMAT=new SimpleDateFormat("yyyy-MM-dd");
    public static void main(String[] args) {
        Date parameter=new Date();
        Calendar calendar=Calendar.getInstance();

        calendar.setTime(parameter);
        //获取当前月的首日与下月的首日的日期
        calendar.set(Calendar.DAY_OF_MONTH,1);
        System.out.println("当前月的首日日期:"+DATE_FORMAT.format(calendar.getTime()));
        calendar.add(Calendar.MONTH,1);
        System.out.println("下月的首日日期:"+DATE_FORMAT.format(calendar.getTime()));

        calendar.setTime(parameter);
        //获取当前季度的首日与下个季度的首日的日期
        calendar.add(Calendar.MONTH,-calendar.get(Calendar.MONTH)%3);
        calendar.set(Calendar.DAY_OF_MONTH,1);
        System.out.println("当前季度的首日日期:"+DATE_FORMAT.format(calendar.getTime()));
        calendar.add(Calendar.MONTH,3);
        System.out.println("下季度的首日日期:"+DATE_FORMAT.format(calendar.getTime()));

        calendar.setTime(parameter);
        //获取当前年的首日与下年的首日的日期
        calendar.set(Calendar.MONTH,0);
        calendar.set(Calendar.DAY_OF_MONTH,1);
        System.out.println("当前年的首日日期:"+DATE_FORMAT.format(calendar.getTime()));
        calendar.add(Calendar.YEAR,1);
        System.out.println("下年的首日日期:"+DATE_FORMAT.format(calendar.getTime()));
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值