后一日问题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 日期前一天
分享链接:http://azwzsj.com/article/dscgodh.html