javajava日期工具类(日期,月份加减等)(代码片段)

author author     2022-12-22     243

关键词:

package com.micro.zk.creditcardselector;

import android.annotation.SuppressLint;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/***
 * 日期工具类
 *
 * @author damao
 *
 */
public class TimeUtils 
    /***
     * 日期月份减一个月
     *
     * @param datetime
     *            日期(2014-11)
     * @return 2014-10
     */
    public static String dateFormat(String datetime) 
        @SuppressLint("SimpleDateFormat") SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
        Date date = null;
        try 
            date = sdf.parse(datetime);
         catch (ParseException e) 
            e.printStackTrace();
        
        Calendar cl = Calendar.getInstance();
        cl.setTime(date);
        cl.add(Calendar.MONTH, -1);
        date = cl.getTime();
        return sdf.format(date);
    

    public static String dateFormat(Date date) 
        @SuppressLint("SimpleDateFormat") SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
        return sdf.format(date);
    

    /****
     * 传入具体日期 ,返回具体日期减一个月。
     *
     * @param date
     *            日期(2014-04-20)
     * @return 2014-03-20
     * @throws ParseException
     */
    public static String subMonth(String date) throws ParseException 
        @SuppressLint("SimpleDateFormat") SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date dt = sdf.parse(date);
        Calendar rightNow = Calendar.getInstance();
        rightNow.setTime(dt);

        rightNow.add(Calendar.MONTH, -1);
        Date dt1 = rightNow.getTime();
        String reStr = sdf.format(dt1);

        return reStr;
    
    public static Date addMonth(Date date) 
        Calendar rightNow = Calendar.getInstance();
        rightNow.setTime(date);
        rightNow.add(Calendar.MONTH, 1);
        return rightNow.getTime();
    

    /****
     * 获取月末最后一天
     *
     * @param sDate
     *            2014-11-24
     * @return 30
     */
    public static String getMonthMaxDay(String sDate) 
        @SuppressLint("SimpleDateFormat") SimpleDateFormat sdf_full = new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();
        Date date = null;
        try 
            date = sdf_full.parse(sDate + "-01");
         catch (ParseException e) 
            e.printStackTrace();
        
        cal.setTime(date);
        int last = cal.getActualMaximum(Calendar.DATE);
        return String.valueOf(last);
    
    public static int getMonthMaxDay(Date sDate) 
        Calendar cal = Calendar.getInstance();
        Date date = sDate;
        cal.setTime(date);
        return cal.getActualMaximum(Calendar.DATE);
    

    // 判断是否是月末
    public static boolean isMonthEnd(Date date) 
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        if (cal.get(Calendar.DATE) == cal
                .getActualMaximum(Calendar.DAY_OF_MONTH))
            return true;
        else
            return false;
    

    /***
     * 日期减一天、加一天
     *
     * @param option
     *            传入类型 pro:日期减一天,next:日期加一天
     * @param _date
     *            2014-11-24
     * @return 减一天:2014-11-23或(加一天:2014-11-25)
     */
    public static String checkOption(String option, String _date) 
        @SuppressLint("SimpleDateFormat") SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Calendar cl = Calendar.getInstance();
        Date date = null;

        try 
            date = (Date) sdf.parse(_date);
         catch (ParseException e) 
            e.printStackTrace();
        
        cl.setTime(date);
        if ("pre".equals(option)) 
            // 时间减一天
            cl.add(Calendar.DAY_OF_MONTH, -1);

         else if ("next".equals(option)) 
            // 时间加一天
            cl.add(Calendar.DAY_OF_YEAR, 1);
         else 
            // do nothing
        
        date = cl.getTime();
        return sdf.format(date);
    

    /***
     * 判断日期是否为当前月, 是当前月返回当月最小日期和当月目前最大日期以及传入日期上月的最大日和最小日
     * 不是当前月返回传入月份的最大日和最小日以及传入日期上月的最大日和最小日
     *
     * @param date
     *            日期 例如:2014-11
     * @return String[] 开始日期,结束日期,上月开始日期,上月结束日期
     * @throws ParseException
     */
    public static String[] getNow_Pre_Date(String date) throws ParseException 

        String[] str_date = new String[4];
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
        SimpleDateFormat sdf_full = new SimpleDateFormat("yyyy-MM-dd");
        String stMonth = sdf.format(now);
        String stdate = "";// 开始日期
        String endate = "";// 结束日期
        String preDate_start = "";// 上月开始日期
        String preDate_end = "";// 上月结束日期

        // 当前月
        if (date.equals(stMonth)) 
            stdate = stMonth + "-01"; // 2014-11-01
            endate = sdf_full.format(now);// 2014-11-24
            preDate_start = subMonth(stdate);// 2014-10-01
            preDate_end = subMonth(endate);// 2014-10-24
         else 
            // 非当前月
            String monthMaxDay = getMonthMaxDay(date);
            stdate = date + "-01";// 2014-10-01
            endate = date + "-" + monthMaxDay;// 2014-10-31
            preDate_start = subMonth(stdate);// 2014-09-01
            preDate_end = subMonth(endate);// 2014-09-30
        
        str_date[0] = stdate;
        str_date[1] = endate;
        str_date[2] = preDate_start;
        str_date[3] = preDate_end;

        return str_date;
    

    public static void main(String[] args) throws ParseException 
        /*
         * String a =DateAndTimeUtil.dateFormat(new Date());
         * System.out.println(a); String b =
         * DateAndTimeUtil.subMonth("2014-03-31"); System.out.println(b);
         * SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date
         * dt=sdf.parse("2014-03-31");
         * System.out.println(DateAndTimeUtil.isMonthEnd(dt));
         */
        String str = null;
        // str = DateAndTimeUtil.checkOption("next", "2014-11-30");
        // str = getMonthMaxDay("2014-11-24");
        // str = dateFormat("2014-11");
        str = getNow_Pre_Date("2014-10")[0];
        System.out.println(str);
    

如何用js进行日期的加减

...级,于是查了下资料,终于有了如下重大发现,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:functionaddDate(date,days)vard=newDate(date);d.setDate(d.getDate()+days);varm=d.getMonth()+1;returnd.getFullY... 查看详情

用java实现日期类的加减

...全没概念啊!还请大神帮忙啊!可发我邮箱i2012521@163.com日期类要求:该系统主要处理时间的相关信息。完成以下的操作:日期的设置、显示、实现在某一个日期上(月、日、年)加减一个天数的功能、计算两个日期间隔天数提... 查看详情

javajava日期(代码片段)

查看详情

java日期时间处理

一.简介1.java中常用的日期有三种(精确到毫秒):A.long--毫秒数B.Date--日期C.Calendar--日历、抽象类2.Java中日期的经常有一下五个方面:A.创建日期B.日期格式化显示C.日期的转换(主要是和字符串之间的相互转换)D.日期中年.月.日.... 查看详情

javajava比较日期(代码片段)

查看详情

javajava的日期操作(代码片段)

查看详情

javajava中日期时间转化

mportjava.util.*;importjava.text.*;importjava.util.Calendar;publicclassVeDate{/***获取现在时间**@return返回时间类型yyyy-MM-ddHH:mm:ss*/publicstaticDategetNowDate(){DatecurrentTime=newDate();SimpleDateFormatformat 查看详情

java日期时间类

Java原本提供了Date和Calendar用于处理日期、时间的类,包括创建日期、时间对象,获取系统当前日期、时间等操作。但Date不仅无法实现国际化,而且它对不同属性也使用了前后矛盾的偏移量,比如月份与小时都是从0开始的,月份... 查看详情

mysql当前日期加减一个月(代码片段)

 MYSQL获取当前时间加上一个月select CONCAT("sys_oper_log_",DATE_FORMAT(DATE_SUB(NOW(),INTERVAL1MONTH),‘%Y%m‘))date_add() 增加date_sub()减少month 月份minute 分钟second 秒  查看详情

javajava的:日期字符串格式大小比较(代码片段)

查看详情

javareview(二十基础类库----日期时间类)

@目录Date类Calendar类Java8新增的日期、时间包Java原本提供了Date和Calendar用于处理日期、时间的类,包括创建日期、时间对象,获取系统当前日期、时间等操作。但Date不仅无法实现国际化,而且它对不同属性也使用了前后矛盾的偏... 查看详情

javareview(二十基础类库----日期时间类)

@目录Date类Calendar类Java8新增的日期、时间包Java原本提供了Date和Calendar用于处理日期、时间的类,包括创建日期、时间对象,获取系统当前日期、时间等操作。但Date不仅无法实现国际化,而且它对不同属性也使用了前后矛盾的偏... 查看详情

计算时间工具类(代码片段)

...a.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;/****日期工具类**@authordamao**/publicclassDateAndTimeUtil/****日期月份减一个月**@paramdatetime*日期(2014-11)*@return2014-10*/publicstaticStringdateFormat(Stringdatetime)SimpleDateFormatsdf=newSimpleDateFormat("yyyy... 查看详情

日期工具类(代码片段)

日期工具类概述概述在日常的开发中,我们难免会对日期格式化,对日期进行计算,对日期进行校验,为了避免重复写这些琐碎的逻辑,我这里封装了一个日期工具类,方便以后使用,直接复制代码到... 查看详情

日期类的实现

...的声明和定义,所以在函数前面要加上date类,找到函数1.日期类的具体实现1.查询当前月份的天数intdate::getmonthday(intyear,intmonth)intarr[13]=0,31,28,31,30,31,30,31,31,30,31,30,31;if(month==2&&(((year%4==0)&&(year%100!=0))||(year%400==0)))//是闰... 查看详情

js日期加减(天数),时间加减,日期运算

根据传入的日期做加减法计算,整数为加法,负数为减法,但是是天。num可传入:1,2,3,-1,-2,-3等,默认是加一天;date可传入:2017-01-01格式的,不传的话默认是当天日期。functiondateChange(num=1,date=false)  i... 查看详情

dateutil日期工具类

  importjava.sql.Timestamp;importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importorg.apache.commons.l 查看详情

javajava的时间戳与日期格式字符串的互转(代码片段)

查看详情