后一日问题java代码,java 日期前一天

Java获取本月最后一天问题

获取最后一天的时间,就用Calendar这个类的方法,这个方法会自动判断闰年问题的,api是根据日历来写的,代码如下:

创新互联是一家专业的成都网站建设公司,我们专注成都网站设计、成都网站制作、网络营销、企业网站建设,买友情链接广告投放为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。

public static void main(String[] args) {

// 获取Calendar

Calendar calendar = Calendar.getInstance();

// 设置时间,当前时间不用设置

// calendar.setTime(new Date());

// 设置日期为本月最大日期

calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));

// 打印

DateFormat format = new SimpleDateFormat("yyyy-MM-dd");

System.out.println(format.format(calendar.getTime()));

}

求java代码获取上个月最后一天最后一秒的时间

用这个方法吧:入参,可以是指定的日期,  返回 制定日期上个月最后一毫秒的时间点

public static Date getLastMonthEndTime(Date date){

Calendar c = Calendar.getInstance();

c.setTime(date);

c.add(Calendar.MONTH, -1);

c.set(Calendar.DAY_OF_MONTH,c.getActualMaximum(Calendar.DAY_OF_MONTH));//设置为最后一天

c.set(Calendar.HOUR_OF_DAY, 23);

c.set(Calendar.MINUTE, 59);

c.set(Calendar.SECOND, 59);

c.set(Calendar.MILLISECOND, 999);

return c.getTime();

}

用Java输出当前系统日期的下一日的日期,下边是我写的,但是我不满意的是,这样太麻烦,谁能换个办法实现

Calendar now=Calendar.getInstance();

now.add(Calendar.DAY_OF_MONTH, 1);

System.out.println("方法一,下一日为:"+now);

Date date=new Date();

date=new Date(date.getTime()+3600*24*1000);

System.out.println("方法二,下一日为:"+date);

System.out.println("方法三,下一日为:"+System.currentTimeMillis()+3600*24*1000);

用java编写实现:输出为输入日期后一天的日期。注意边界值问题,不要有bug。

日期的判断修改了一下,日期的最大值是本月的最大天数,不是31

------------------------------------------------------------------------------------

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Scanner;

public class T {

public static int[] dates = new int[3];

public static void main(String[] args) throws Exception {

String[] input = { "input year :", "input month :", "input day :" };

Scanner sc = new Scanner(System.in);

for (int i = 0; i input.length; i++) {

dates[i] = input(input[i], sc, i);

}

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.YEAR, dates[0]);

calendar.set(Calendar.MONTH, dates[1] - 1);

calendar.set(Calendar.DATE, dates[2] + 1);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

System.out.println(sdf.format(calendar.getTime()));

}

public static int input(String message, Scanner sc, int index) {

while (true) {

System.out.print(message);

String str = sc.nextLine();

try {

int result = Integer.parseInt(str);

if (index == 0 !(result = 1920 result = 2050)) {

System.out.println("1920≤year≤2050");

continue;

}

if (index == 1 !(result = 1 result = 12)) {

System.out.println("1≤month≤12");

continue;

}

if (index == 2) {

int end = endDay(dates[0], dates[1]);

if (!(result = 1 result = end)) {

System.out.println("1≤day≤" + end);

continue;

}

}

return result;

} catch (Exception e) {

System.out.println("input error!");

}

}

}

public static int endDay(int year, int month) {

Calendar c = Calendar.getInstance();

c.set(Calendar.YEAR, year);

c.set(Calendar.MONTH, month);

c.set(Calendar.DATE, 0);

return c.get(Calendar.DATE);

}

}


分享名称:后一日问题java代码,java 日期前一天
链接URL:http://myzitong.com/article/dscgodh.html