Date日期操作

系列文章目录


一、按照指定的日期/时间创建Date对象

有时,需要获得指定日期的Date对象,这个指定的日期或者时间可能不是当前的时间。下面讲解两种获取指定日期/时间的Date对象的方法:

package cc.bcy;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateTest
{
    public static void main(String[] args) throws ParseException
    {
        /*第一种方法*/
        // 获得2009年06月01日 的Date对象
        DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
        Date myDate1 = dateFormat1.parse("2009-06-01");
        System.out.println(myDate1);
        // 获得2010年9月13日22点36分01秒 的Date对象
        DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date myDate2 = dateFormat2.parse("2010-09-13 22:36:01");
        System.out.println(myDate2);
        System.out.println();

        /*第二种方法*/
        //获取2014年2月11日的Date对象
        Calendar myCalendar = new GregorianCalendar(2014, 2, 11);
        Date myDate3 = myCalendar.getTime();
        System.out.println(myDate3);
        //获取2014年2月11日 22:36:01的Date对象
        Calendar myCalendar2 = new GregorianCalendar(2014, 2, 11,22,36,01);
        Date myDate4 = myCalendar2.getTime();
        System.out.println(myDate4);
    }
}

把当前时间格式化为字符串

package cc.bcy;
import java.text.*;
import java.util.*;

public class DateTest
{
    public static void main(String[] args) throws ParseException
    {
        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
        Date d= new Date();
        String str = sdf.format(d);
        System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str);

        SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
        Date d1= new Date();
        String str1 = sdf1.format(d1);
        System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1);
    }
}
/*
当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: 2019-05-30 11:03:15 267
当前时间通过 yyyy-MM-dd 格式化后的输出: 2019-05-30
*/

Calendar的简单操作:

add方法,在原日期上增加年/月/日
  set方法,直接设置年/月/日

package cc.bcy;
import java.text.*;
import java.util.*;

public class DateTest
{

    public static void main(String[] args) throws ParseException
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar c = Calendar.getInstance();
        Date now = c.getTime();
        // 当前日期
        System.out.println("当前日期:            " + sdf.format(now));

        // 下个月的今天
        c.add(Calendar.MONTH, 1);
        System.out.println("下个月的今天:    " +sdf.format(c.getTime()));

        // 去年的今天
        c.setTime(now);
        c.add(Calendar.YEAR, -1);
        System.out.println("去年的今天:        " +sdf.format(c.getTime()));

        // 上个月的第三天
        c.setTime(now);
        c.add(Calendar.MONTH, -1);
        c.set(Calendar.DATE, 3);
        System.out.println("上个月的第三天:    " +sdf.format(c.getTime()));
    }
}
/*
当前日期:        2019-05-30 11:14:41
下个月的今天:    2019-06-30 11:14:41
去年的今天:        2018-05-30 11:14:41
上个月的第三天:    2019-04-03 11:14:41
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值