java输入日期输出后一天

Python08

java输入日期输出后一天,第1张

package com

import java.text.ParseException

import java.text.SimpleDateFormat

import java.util.Calendar

import java.util.Date

import java.util.Scanner

public class Test {

    public static void main(String[] args) {

        try {

            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd")

            System.out.println("请输入日期。如2017-11-01")

            Scanner scan = new Scanner(System.in)

            String read = scan.nextLine()

            Date date = formatter.parse(read)

            System.out.println("退后一天日期为:" + formatter.format(addDateOneDay(date)))

        } catch (ParseException e) {

            // TODO Auto-generated catch block

            // e.printStackTrace()

            System.out.println("录入错误,程序结束!")

        }

    }

    public static Date addDateOneDay(Date date) {

        if (null == date) {

            return date

        }

        Calendar c = Calendar.getInstance()

        c.setTime(date) // 设置当前日期

        c.add(Calendar.DATE, 1) // 日期加1天

        date = c.getTime()

        return date

    }

}

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

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()))

}

用Calendar就能结决你的问题,代码如下:

import java.util.Calendar

import java.util.Date

public class Data {

public static void main(String[] args) {

Calendar a=Calendar.getInstance()

a.set(Calendar.DATE, 1)//把日期设置为当月第一天

a.roll(Calendar.DATE, -1)//日期回滚一天,也就是最后一天

int MaxDate=a.get(Calendar.DATE)

System.out.println("该月最大天数:"+MaxDate)

}

}

ps:你也可以自己改改把月份设定为自己想要的那个月