java查找日期前一天,不使用date类
来源:互联网 发布:邮箱smtp服务器端口 编辑:程序博客网 时间:2024/04/29 22:58
public class Test {
/**
* @param args
*/
public int year = 0;
public int month = 0;
public int day = 0;
public boolean flag = false;
public static void main(String[] args) {
System.out.println("前一天:" + new Test().getLastDay("20130301"));
}
public String getLastDay(String datestr) {
String dateString = null;
year = Integer.parseInt(datestr.substring(0, 4));
month = Integer.parseInt(datestr.substring(5, 6));
day = Integer.parseInt(datestr.substring(7, 8));
day = day - 1;
if (day == 0) {
month = month - 1;
if (month == 0) {
year = year - 1;
}
}
if (month == 0) {
month = 12;
}
if (day == 0) {
day = getDayByMonth(year, month);
}
dateString = year + "" + month + "" + day;
return dateString;
}
public boolean isLeapYear(int year) {
flag = false;
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
flag = true;
}
return flag;
}
public int getDayByMonth(int year, int month) {
int day = 0;
int[] daybymonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (month == 2) {
if (isLeapYear(year)) {
day = 29;
} else {
day = 28;
}
} else {
day = daybymonth[month - 1];
}
return day;
}
}
/**
* @param args
*/
public int year = 0;
public int month = 0;
public int day = 0;
public boolean flag = false;
public static void main(String[] args) {
System.out.println("前一天:" + new Test().getLastDay("20130301"));
}
public String getLastDay(String datestr) {
String dateString = null;
year = Integer.parseInt(datestr.substring(0, 4));
month = Integer.parseInt(datestr.substring(5, 6));
day = Integer.parseInt(datestr.substring(7, 8));
day = day - 1;
if (day == 0) {
month = month - 1;
if (month == 0) {
year = year - 1;
}
}
if (month == 0) {
month = 12;
}
if (day == 0) {
day = getDayByMonth(year, month);
}
dateString = year + "" + month + "" + day;
return dateString;
}
public boolean isLeapYear(int year) {
flag = false;
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
flag = true;
}
return flag;
}
public int getDayByMonth(int year, int month) {
int day = 0;
int[] daybymonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (month == 2) {
if (isLeapYear(year)) {
day = 29;
} else {
day = 28;
}
} else {
day = daybymonth[month - 1];
}
return day;
}
}
0 0
- java查找日期前一天,不使用date类
- 用date获得前一天的日期
- Solaris下用date获得前一天日期
- 【HTML5入门】java获取util date类型当前系统前一天,当天,后天日期
- JAVA求前一天的日期
- C实现:查找指定日期的前一天
- Java 获取指定时间的前一天Date
- java date 日期 date
- JAVA中的Date日期类,和SimpleDateFormat类的使用
- Java 日期类介绍与使用(Date,Calendar等)
- Linux下如何用date获取当前日期的前一天
- java中的日期类Date
- java中的日期类Date
- Date日期工具类---Java
- linux下shell获取时间date的写法,日期加减,用date获得前一天的日期
- java日期获取前一天和后一天
- java日期获取前一天和后一天
- Java取得明天或者前一天的日期
- POJ 3301 三分(最小覆盖正方形)
- POJ 3468 A Simple Problem with Integers
- UIScrollView属性
- DLL显式加载与隐式加载
- HDU - 4821 String (长春赛区I题)
- java查找日期前一天,不使用date类
- 再谈iOS 7的手势滑动返回功能
- poj1050 (最大子矩阵和)
- No Brainer - POJ 2027 水题
- 【20】从尾到头打印链表
- 十五周项目1-工资数据的输入
- JAVA中的队列
- linux apache的安装与配置 ,局域网访问主页
- 二八定律