`

日期操作类

 
阅读更多
  /**
	 * 日期加减n天
	 */
	private static Date dateAddSubNDay(Date date, char ch, int n)
	{
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);

		if (ch == '+')
		{
			calendar.set(Calendar.DAY_OF_YEAR, calendar
					.get(Calendar.DAY_OF_YEAR) + n);
		}
		else if (ch == '-')
		{
			calendar.set(Calendar.DAY_OF_YEAR, calendar
					.get(Calendar.DAY_OF_YEAR) - n);
		}

		return calendar.getTime();
	}
	
	/**
	 * 月份加减n天
	 */
	public static Date dateAddSubNMonth(String date, char ch, int n)
	{
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(strToDate(date, "yyyy-MM-dd"));

		if (ch == '+')
		{
			calendar.set(Calendar.MONTH, calendar
					.get(Calendar.MONTH) + n);
		}
		else if (ch == '-')
		{
			calendar.set(Calendar.MONTH, calendar
					.get(Calendar.MONTH) - n);
		}

		return calendar.getTime();
	}

	/**
	 * 根据年月日得到星期 1 - 7
	 */
	public static int getWeek(int y, int m, int d)
	{
		//用来保存计算得到的星期几的整数
		int a = 7; 
		int int_date = -1;
		//如果是一月或二月进行换算
		if ((m == 1) || (m == 2))
		{
			m += 12;
			y--;
		}
		//得到的星期几的整数
		a = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7; 
		switch (a)
		{
			case 0:
				int_date = 1;
				break;
			case 1:
				int_date = 2;
				break;
			case 2:
				int_date = 3;
				break;
			case 3:
				int_date = 4;
				break;
			case 4:
				int_date = 5;
				break;
			case 5:
				int_date = 6;
				break;
			case 6:
				int_date = 7;
				break;
		}
		return int_date;
	}
	
	/**
	 * 计算两个日期相差月份
	 */
	public static final int getMonths(String d1, String d2)    
  {    
		Date date1 = strToDate(d1, "yyyy-MM-dd");
		Date date2 = strToDate(d2, "yyyy-MM-dd");
		int month = 12*(date1.getYear()-date2.getYear())+date1.getMonth()-date2.getMonth();
		return month;
  }   
    
    
   /**
	 * 得到某个月的最后一日日期
	 */
	public static String getCurrMonthEndDate(int year, int month, int day)
	{
				Calendar cal = Calendar.getInstance(); //日历 
        // 当前月+1,即下个月 
				cal.set(year, month - 1, day);
		
        cal.add(cal.MONTH, 1); //得到下个月的月份 
        
        // 将下个月1号作为日期初始zhii 
        cal.set(cal.DATE, 1); 
        
        // 下个月1号减去一天,即得到当前月最后一天 
        cal.add(cal.DATE, -1); 
        
        java.text.SimpleDateFormat df = new java.text.SimpleDateFormat( 
                "yyyy-MM-dd"); 
        
        String day_end = df.format(cal.getTime()); 
        
        return day_end;
	}
	
	
	
分享到:
评论

相关推荐

    java日期操作类

    java日期操作类 操作java日期 替换simplatedateformate

    JAVA日期操作类详细讲解

    本篇内容将深入讲解Java中的日期操作类,这对于Java初学者来说是非常重要的知识点。 首先,我们要了解Java中的基础日期类`java.util.Date`。这个类在早期的Java版本中被广泛使用,但其API设计存在一些问题,例如不...

    java实现的日期操作类

    标题提到的"java实现的日期操作类"通常指的是使用这些类来完成特定的日期计算任务,如获取星期几或计算未来的日期。 `java.util.Date`是Java早期用来表示日期和时间的类,但它的API设计并不理想,易用性较差。因此...

    经典示例Java日期操作类.pdf

    ### 经典示例Java日期操作类 #### 一、Date类详解 ##### 1.1 Date类简介 `java.util.Date` 类是Java中处理日期的基本类之一,用于表示特定的时间点,精确到毫秒级别。这个类提供了多种方法来获取、设置以及比较...

    欧柏泰克:Java常用类库--日期操作类

    欧柏泰克:Java常用类库--日期操作类 在 Java 语言中,日期操作类是非常重要的一部分,常用的日期操作类有 Date 类、Calendar 类和 DateFormat 类。下面是对这三个类的详细介绍: Date 类 Date 类是 Java 语言中...

    日期操作类(Date、Calendar)笔记

    031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记

    c# 日历、日期操作类

    c# 日历、日期操作类 公历农历转换等 节气节日对应 等操作

    Java日期操作类常见用法示例

    Java日期操作类常见用法示例 Java日期操作类是Java语言中用于处理日期和时间的类库,主要包括java.time包下的LocalDateTime、LocalDate、LocalTime等类。这些类提供了丰富的方法来处理日期和时间,包括获取当前日期...

    Java常用类库StringBuffer,Runtime,日期操作类等类库总结

    Java常用类库StringBuffer、Runtime、日期操作类等类库总结 Java程序设计语言中有许多实用的类库,今天我们将对StringBuffer、Runtime、日期操作类等类库进行总结。 StringBuffer类 StringBuffer类是Java中一个可...

    日期操作类(Date、Calendar)

    NULL 博文链接:https://chaoyi.iteye.com/blog/2082315

    DateUtil:日期操作类 自用

    DateUtil日期操作类 自用其中包括很多常用日期操作1.Date --> String2.String --> Date3.获取年龄4.获取两个日期相差的天数5.Dateformat6.获取日期中的某数值。如获取月份7.增加日期中某类型的某数值。如增加...

    日期操作类(DateFormat、SimpleDateFormat)

    NULL 博文链接:https://chaoyi.iteye.com/blog/2082317

    zihaopang#Backen-develope#第九章:日期操作类1

    范例:格式化日期显示public static void main(String[] args) {String str = sdf.format(date);

    日期操作工具类

    比较全面的日期操作类,可以直接下载后使用就可以了,

    最牛.Net公共类库,.net 开发类库Cmn

    Date 日期操作类 FileFolder 文件目录操作类 Identify 验证码 Js Js操作类 Log 日志管理类 Msg 输出消息类 Net 网络操作类 Rand 生成随机数类 Request Request操作类 Safe 安全操作类 Session Session...

    js实现的日期操作类DateTime函数代码

    JavaScript中的日期操作往往依赖于内置的`Date`对象,但有时候它的使用可能不够直观或符合开发者的编程习惯。为了提供类似C#中的`DateTime`类的功能,我们可以创建一个自定义的`DateTime`类来增强日期处理的能力。这...

    python 日期操作类代码

    '''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime import timedelta, date import calendar year = strftime("%Y",localtime()) mon = strftime("%m",localtime()) day = ...

    c++中的日期操作(包含CString类型的部分操作)

    自制C++中应用的日期操作类 操作天数的增减 操作月数的增减 操作年数的增减 获取日期所在月有几周 获取日期所在的周一 获取日期所在的周日 获取日期所在月的第几周周一 获取日期所在月的第几周周日 获取日期星期...

Global site tag (gtag.js) - Google Analytics