JAVA中的时间:Date类、SimpleDateFormat类、DateFormat类、Calendar类

一、Data类: java.util.Date

     Date对象用于描述某个时间点,其封装了一个毫秒值(long值)。这个long值是从公元1970年元旦那一刻到当前Data描述的时间点之间的毫秒差。 因为Date的自身设计缺陷,我们仅仅用该类来描述日期,而不计算日期。

public class TestDate {
 public static void main(String[] args){
  Date date = new Date();//ctrl +shift+o,会自动导包和删除没有使用的包
  System.out.println(date);
  long now = date.getTime();
  System.out.println(now);
  date.setTime(now + 24*60*60*1000);
  System.out.println(date);
 }
}

二、SimpleDateFormat 类:java.text.SimpleDateForamt
该类可以很方便的在字符串和Data之间转换。
SimpleDateFormat 在构造的时候要指定日期格式字符串,这个字符串用于说明描述日期的字符串的具体格式。日期格式字符串中的特殊字符:
 y:数字年,写几位就表示几位,一般四位或两位
 Y:代表英文的年。
 M:数字月,一般两位
 d:数字日
 D:代表年中的日
 h:数字的小时,12小时制,hh
 H:数字的小时,24小时制
 m:数字的分
 s:数字的秒
 E:代表星期
 a:代表上下午

format()方法,将Data按照指定格式转换成String。parse()方法,将String字符串转换成Data。

public class TestSimpleDateFormat {
 public static void main(String[] args) throws ParseException {
  SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Date now = new Date();
  /**
   * 将给定的date对象所表示的时间按照创建SimpleDateFormat时给定的日期格式转换为描述该对象的字符串。
   */
  String nowStr = format1.format(now);
  System.out.println(nowStr);//2013-09-17 03:45:04
  SimpleDateFormat format2 = new SimpleDateFormat("yyyy/MM/dd");
  nowStr = format2.format(now);
  System.out.println(nowStr);//2013/09/17
  /**
   * 将日期字符串转换为描述该日期的Date对象。
   */
  String dateStr = "2013-6-21 12:59:33";
  Date date = format1.parse(dateStr);//捕获异常,时分秒会默认为0
  System.out.println(date);//Fri Jun 21 12:59:33 CST 2013
 }
}

三、DateFormat类:

DateFormat类是SimpleDateFormat的父类,可以根据地区来转换日期对象对应的字符串。

public class TestDateFormat {
 public static void main(String[] args){
  Date now = new Date();
  DateFormat format = DateFormat.getDateInstance(
    DateFormat.LONG,//这个参数影响字符串的长度
    Locale.CHINA//区域
    );
  String dateStr = format.format(now);
  System.out.println(dateStr);
 }
}

四、Calendar类:java.util.Calendar

calendar 经常被用于计算日期,该类的设计不存在千年虫问题。

public class TestCalendar {
 public static void main(String[] args){
  /**
   * 使用工厂模式创建一个Calendar实例,该实例代表当前系统的时间。该方法会根据当前系统所在的地区和时间来创建实例。
   */
  Calendar calendar = Calendar.getInstance();
  /**
   * 设置日期的方法set(),第一个参数对应Calendar中的常量月份的值可是是数字也可以是常量,数字0代表1月
   */
  calendar.set(Calendar.YEAR, 2013);
  calendar.set(Calendar.MONTH,Calendar.MAY);//calendar.set(Calendar.MONTH,4)
  calendar.set(Calendar.DATE,15);
  calendar.set(Calendar.HOUR,1);//这个和当前Calendar中存储的
  /**
   * 将calendar转成date,调用Calendar中的getTime()方法。
   */
  Date date = calendar.getTime();
  System.out.println(date);//Wed May 15 01:28:15 CST 2013
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DateDateJava的一个基础,它代表了一个日期和时间Date通常用于获取当前日期和时间,或者用于存储一个特定的日期和时间。它提供了一些方法来获取日期和时间的各个部分,如年、月、日、小时、分钟、秒等。 DateFormatDateFormatJava用于格式化或解析日期和时间。它通常用于将Date对象转换为可读的字符串格式,或者从字符串解析出日期和时间DateFormat提供了一些静态方法,可以设置日期和时间的格式,例如日期应显示月、日还是年,是否需要显示时间等。 SimpleDateFormatSimpleDateFormatDateFormat的一个子,它提供了一些更方便的方法来格式化和解析日期和时间。与DateFormat相比,SimpleDateFormat使用起来更简单,更容易使用。它可以接受用户定义的格式字符串,这使得用户可以根据自己的需要自定义日期和时间的显示格式。 CalendarCalendar是一个抽象,用于处理日历相关的任务。它提供了表示特定日期和时间的对象,并且允许进行各种日历操作,如添加月份、年份等。Calendar可以与Date一起使用,以便获取日期的各个部分或执行日历操作。 这些的主要用途如下: * Date:获取和处理日期和时间的基本工具。 * DateFormatSimpleDateFormat:用于格式化和解析日期和时间的工具。 * Calendar:用于处理日历相关的任务,例如添加月份、年份等。 在Java,这些通常一起使用,以便更方便地处理日期和时间。例如,可以使用DateCalendar来获取特定日期或时间,然后使用DateFormatSimpleDateFormat将其转换为可读的字符串格式。也可以使用Calendar进行日历操作,并使用DateDateFormat将结果存储为Date对象或字符串。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值