java ---系统常见类

日期时间相关

Date

1.常用构造方法

Date d = new Date()     //获取系统当前时间

2.常用成员方法

 getTime() //获取当前时间的毫秒值,以1970/1/1为参照

Calender

Calender是一个抽象类,不能实例化对象,通过调用getInstance();方法获得一个实例对象

   Calendar rightNow = Calendar.getInstance();

使用相关获取年月日方法查询帮助文档

Date和String 的相互转化

使用格式化日期类SimpleDateFormat

1.Date转化成String ,属于格式化的过程,调用format方法

public static String datetoString(Date d,String format){
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		return sdf.format(d);		
	}

2.String转化成Date,属于解析,调用parse方法

public static Date StringtoDate(String s,String format) throws ParseException{
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		return sdf.parse(s);
	}

注意:不管哪个方向的转化,创建SimpleDateFormat对象时,都要把格式作为参数传递

日期格式化

在之前的博客中我们使用到了操作日期的一些类,我们发现,如果我们想要获得指定格式的日期字符串可以做到但是很麻烦,下面为大家介绍几种日期的格式化方式。
DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。
DateFormat提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间 Formatter。格式化风格包括 FULL、LONG、MEDIUM和SHORT。
DateFormat可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。
要格式化一个当前语言环境下的日期,可使用某个静态工厂方法:

myString = DateFormat.getDateInstance().format(myDate);

如果格式化多个日期,那么获取该格式并多次使用它是更为高效的做法,这样系统就不必多次获取有关环境语言和国家/地区约定的信息了。

DateFormat df = DateFormat.getDateInstance();
for (int i = 0; i < myDate.length; ++i) {
   output.println(df.format(myDate[i]) + "; ");
}

要格式化不同语言环境的日期,可在getDateInstance()的调用中指定它。

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);

还可使用DateFormat进行解析。

myDate = df.parse(myString);

使用getDateInstance来获取该国家/地区的标准日期格式。另外还提供了一些其他静态工厂方法。使用 getTimeInstance 可获取该国家/地区的时间格式。使用getDateTimeInstance 可获取日期和时间格式。可以将不同选项传入这些工厂方法,以控制结果的长度(从 SHORT 到 MEDIUM 到 LONG 再到 FULL)。确切的结果取决于语言环境,但是通常:

  • SHORT 完全为数字,如 12.13.52 或 3:30pm
  • MEDIUM 较长,如 Jan 12, 1952
  • LONG 更长,如 January 12, 1952 或 3:30:32pm
  • FULL 是完全指定,如 Tuesday、April 12、1952 AD 或 3:30:42pm PST
    如果愿意,还可以在格式上设置时区。如果想对格式化或解析施加更多的控制(或者给予用户更多的控制),可以尝试将从工厂方法所获取的 DateFormat 强制转换为 SimpleDateFormat。这适用于大多数国家/地区;只是要记住将其放入一个 try 代码块中,以防遇到特殊的格式。
    构造方法
protected DateFormat()	//创建一个新的 DateFormat

代码实例:

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

public class DateFormatDemo
{
   public static void main(String[] args) throws ParseException
   {
      // 获取日期格式器,该格式器具有默认语言环境的默认格式化风格
      DateFormat dateFormat = DateFormat.getDateInstance();
      // 格式化当前时间
      System.out.println(dateFormat.format(new Date()));
      // 解析字符串为时间
      System.out.println(dateFormat.parse("2015-12-26"));
      // 获取时间格式器,该格式器具有默认语言环境的默认格式化风格。
      DateFormat timeFormat = DateFormat.getTimeInstance();
      // 格式化当前时间
      System.out.println(timeFormat.format(new Date()));
      // 解析字符串为时间
      System.out.println(timeFormat.parse("21:40:02"));
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值