/**
* 日期加减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日期 替换simplatedateformate
本篇内容将深入讲解Java中的日期操作类,这对于Java初学者来说是非常重要的知识点。 首先,我们要了解Java中的基础日期类`java.util.Date`。这个类在早期的Java版本中被广泛使用,但其API设计存在一些问题,例如不...
标题提到的"java实现的日期操作类"通常指的是使用这些类来完成特定的日期计算任务,如获取星期几或计算未来的日期。 `java.util.Date`是Java早期用来表示日期和时间的类,但它的API设计并不理想,易用性较差。因此...
### 经典示例Java日期操作类 #### 一、Date类详解 ##### 1.1 Date类简介 `java.util.Date` 类是Java中处理日期的基本类之一,用于表示特定的时间点,精确到毫秒级别。这个类提供了多种方法来获取、设置以及比较...
欧柏泰克:Java常用类库--日期操作类 在 Java 语言中,日期操作类是非常重要的一部分,常用的日期操作类有 Date 类、Calendar 类和 DateFormat 类。下面是对这三个类的详细介绍: Date 类 Date 类是 Java 语言中...
031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记
c# 日历、日期操作类 公历农历转换等 节气节日对应 等操作
Java日期操作类常见用法示例 Java日期操作类是Java语言中用于处理日期和时间的类库,主要包括java.time包下的LocalDateTime、LocalDate、LocalTime等类。这些类提供了丰富的方法来处理日期和时间,包括获取当前日期...
Java常用类库StringBuffer、Runtime、日期操作类等类库总结 Java程序设计语言中有许多实用的类库,今天我们将对StringBuffer、Runtime、日期操作类等类库进行总结。 StringBuffer类 StringBuffer类是Java中一个可...
NULL 博文链接:https://chaoyi.iteye.com/blog/2082315
DateUtil日期操作类 自用其中包括很多常用日期操作1.Date --> String2.String --> Date3.获取年龄4.获取两个日期相差的天数5.Dateformat6.获取日期中的某数值。如获取月份7.增加日期中某类型的某数值。如增加...
NULL 博文链接:https://chaoyi.iteye.com/blog/2082317
范例:格式化日期显示public static void main(String[] args) {String str = sdf.format(date);
比较全面的日期操作类,可以直接下载后使用就可以了,
Date 日期操作类 FileFolder 文件目录操作类 Identify 验证码 Js Js操作类 Log 日志管理类 Msg 输出消息类 Net 网络操作类 Rand 生成随机数类 Request Request操作类 Safe 安全操作类 Session Session...
JavaScript中的日期操作往往依赖于内置的`Date`对象,但有时候它的使用可能不够直观或符合开发者的编程习惯。为了提供类似C#中的`DateTime`类的功能,我们可以创建一个自定义的`DateTime`类来增强日期处理的能力。这...
'''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime import timedelta, date import calendar year = strftime("%Y",localtime()) mon = strftime("%m",localtime()) day = ...
自制C++中应用的日期操作类 操作天数的增减 操作月数的增减 操作年数的增减 获取日期所在月有几周 获取日期所在的周一 获取日期所在的周日 获取日期所在月的第几周周一 获取日期所在月的第几周周日 获取日期星期...