永发信息网

关于java中java.util.Date(急)

答案:5  悬赏:40  手机版
解决时间 2021-11-28 00:16
  • 提问者网友:疯孩纸
  • 2021-11-26 23:59
关于java中java.util.Date(急)
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-11-27 01:07
这里建议用Calendar来完成,因为Calendar可以对日期进行计算。
代码写的比较丑,你再调整调整,俺程序员做的不是很成功。

public static String getLastMonthDay(String data)
{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//设定日期
ParsePosition pos = new ParsePosition(0);
Calendar calendar=Calendar.getInstance();
calendar.setTime(formatter.parse(data,pos));
calendar.add(Calendar.MONTH, -1);//月份减1
int maxday=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//得到当前月份的最大日期
calendar.set(Calendar.DAY_OF_MONTH, maxday);
return formatter.format(calendar.getTime());
}


public static void main(String[] args)
{
System.out.println(getLastMonthDay("2014-05-03"));
System.out.println(getLastMonthDay("2013-05-03"));
System.out.println(getLastMonthDay("2014-03-01"));
}
全部回答
  • 1楼网友:西风乍起
  • 2021-11-27 04:28
把date转成calendar,求到对应时间后,再format返回
  • 2楼网友:行路难
  • 2021-11-27 04:17
public class DateTest{
    public static void main(String[] args){
        String date = getDate(new java.util.Date());
        System.out.println("转换后:" + date);
    }
    private static String getDate(java.util.Date date){
        return new java.text.SimpleDateFormat("yyyy-MM-dd").format(date);
    }
}
  • 3楼网友:拾荒鲤
  • 2021-11-27 03:23
public class DateUtils{
public static String lastMonthEnd(String date) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");//日期格式,建议修改为全局静态常量
Date d = null;
try {
d = df.parse(date);//得到时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);//设置Calendar时间为传入的时间
calendar.set(Calendar.DATE, 1);//设置Calendar的日期为这个月1号
calendar.add(Calendar.DATE, -1);//设置日期减去一天,即上个月最后一天
return df.format(calendar.getTime());//返回指定格式字符串
} catch (ParseException e) {

}
return null;
}

public static void main(String[] args) {
System.out.println(monthBeginA("2014-07-15"));
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯