zoukankan      html  css  js  c++  java
  • 日期计算工具类

    /* 
     * CopyRright (c) 2013, Minxin and/or its affiliates. All rights reserved.
     */
    package com.minxinloan.common.utils;
    
    import java.util.Calendar;
    import java.util.Date;
    
    /**
     * 日期计算工具类
     *
     * @author gejb
     * @since 2013-12-18
     */
    public class CalendarUtil {
        /**
         * 获取指定日期的当月第一天日期
         *
         * @param date 指定日期
         * @return 当月第一天日期
         */
        public static Date getFirstDayOfMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1); // 设置当前月的1号
            return calendar.getTime();
        }
        /**
         * 获取当前日期
         *
         * @param date 指定日期
         * @return 当月第一天日期
         */
        public static String getCurrentDate() {
            java.util.Calendar c=java.util.Calendar.getInstance();    
            java.text.SimpleDateFormat f=new java.text.SimpleDateFormat("yyyy-MM-dd");    
            return f.format(c.getTime());   
        }
    
        /**
         * 获取指定日期当月最后一天日期
         *
         * @param date 指定日期
         * @return 当月最后一天日期
         */
        public static Date getLastDayOfMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1);     // 设置当前月的1号
            calendar.add(Calendar.MONTH, 1);   // 加一个月,变为下月的1号
            calendar.add(Calendar.DATE, -1);    // 减去一天,变为当前月的最后一天
            return calendar.getTime();
        }
    
        /**
         * 获取指定日期上月第一天日期
         *
         * @param date 指定日期
         * @return 上月第一天日期
         */
        public static Date getFirstDayOfPreviousMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1);     // 设置当前月的1号
            calendar.add(Calendar.MONTH, -1);  // 减一个月,变为上月的1号
            return calendar.getTime();
        }
    
        /**
         * 获取指定日期的上月最后一天
         *
         * @param date 指定日期
         * @return 上月最后一天日期
         */
        public static Date getLastDayOfPreviousMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1);     // 设置当前月的1号
            calendar.add(Calendar.DATE, -1);    // 减一天,变为上月的1号
            return calendar.getTime();
        }
    
        /**
         * 获取指定日期的下月第一天日期
         *
         * @param date 指定日期
         * @return 下月第一天日期
         */
        public static Date getFirstDayOfNextMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.MONTH, 1);    // 加一个月
            calendar.set(Calendar.DATE, 1);     // 设置当前月第一天
            return calendar.getTime();
        }
    
        /**
         * 获取指定日期下月最后一天的日期
         *
         * @param date 指定日期
         * @return 下月最后一天的日期
         */
        public static Date getLastDayOfNextMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1);     // 设置当前月的1号
            calendar.add(Calendar.MONTH, 2);   // 加两个月,变为下下月的1号
            calendar.add(Calendar.DATE, -1);    // 减一天,变为下月的最后一天
            return calendar.getTime();
        }
    
        /**
         * 获取两个日期相差天数,算上当天
         *
         * @param fromDate
         * @param endDate
         * @return 相差天数
         */
        public static int getIntervalDays(Date fromDate, Date endDate) {
            if (null == fromDate || null == endDate) {
                return -1;
            }
            long intervalMilli = endDate.getTime() - fromDate.getTime();
            return (int) (intervalMilli / (24 * 60 * 60 * 1000));
        }
    }
  • 相关阅读:
    Silverlight入门:第四部分 数据绑定
    [Silverlight入门系列]使用MVVM模式(6):使用Behavior
    Silverlight入门:第二部分 定义界面布局和导航
    [Silverlight入门系列]使用MVVM模式(2):集合Model /ObservableCollection/ICollectionView
    建立可扩展的silverlight应用框架 step5:整理Module
    Silverlight入门:第六部分 美化用户界面的样式与模板
    [Silverlight入门系列]使用MVVM模式(7):ViewModel的INotifyPropertyChanged接口实现
    Silverlight WCF RIA服务(五)使用SL商业应用模板
    Silverlight WCF RIA服务(四)如何添加和移除RIA Services Link
    Asymptote 学习记录(3) 画赵爽弦图练习
  • 原文地址:https://www.cnblogs.com/yy123/p/5354199.html
Copyright © 2011-2022 走看看