有关Date相关类操作的例子

/*
 * 本程序演示了Java中日期和时间相关类的操作,涉及的主要类有:
 * Date、Locale、DateFormat、SimpleDateFormat、DateFormatSymbols、Calendar、GregorianCalendar
 * 基本的操作思想有两种
 * 1、得到Date对象->用DateFormat或SimpleDateFormat格式化Date对象->如需要,用DateFormatSymbols自定义格式显示->如需要,可以指定区域设置。
 * 2、得到Date对象->用Calendar相关类实现,可以得到一个一个有关日期和时间的值,更灵活->如需要,可以设置时区和区域。
 */

package com.lwj.demo;

import java.util.*;//Date、Locale、Calendar、GregorianCalendar等类要用到
import java.text.*;//DateFormat、SimpleDateFormat、DateFormatSymbols等类要用到

public class DateFormatDemo {

 public static void main(String[] args) throws ParseException {
  Date today;
  String dateOut;
  // Locale currentLocale=Locale.getDefault();//new
  // Locale("zh","CN");//这里可以得到缺省区域设置或者设置区域
  DateFormat dateFormatter = DateFormat.getDateTimeInstance(
    DateFormat.LONG, DateFormat.LONG);// ,currentLocale);//这个方法很重要,两个参数分别表示日期和时间的格式

  today = new Date();
  dateOut = dateFormatter.format(today);// 用getDateTimeInstance方法指定的格式格式化Date对象,返回String值

  System.out.println("当前缺省的区域设置为:" + Locale.getDefault());
  System.out.println("现在为:" + dateOut);

  // 以下用DateFormatSymbols和SimpleDateFormat的类配合,自定义自己的日期格式符
  DateFormatSymbols formatSymbols = DateFormatSymbols.getInstance();// 如果想自定义日期的格式符,可用DateFormatSymbols类,此处用其静态方法getInstance()返回其对象,也可用构造方法实现,同时还可指定区域设置。

  System.out.println("——————原来的时间标志——————");
  String[] oldAmPm = formatSymbols.getAmPmStrings();// 得到AM_PM格式符
  for (String str : oldAmPm)
   System.out.print(str + " ");// 看看先后的顺序
  System.out.println();

  System.out.println("——————现在的时间标志——————");
  String[] newAmPm = { "白天", "晚上" };// 自定义的AM_PM格式符,注意先后的顺序
  formatSymbols.setAmPmStrings(newAmPm);// 设置成自己的AM_PM格式符
  for (String str : formatSymbols.getAmPmStrings())
   System.out.print(str + " ");// 再看看改变后的结果
  System.out.println();

  SimpleDateFormat formatter = new SimpleDateFormat(
    "yyyy年M月dd日ah时mm分ss秒", formatSymbols);// 用SimpleDateFormat类的构造方法可设置格式,"yyyy年M月dd日ah时mm分ss秒"为格式字符串,formatSymbols为格式符(自定义日期格式符用,如果不自定义,也可不用)。
  dateOut = formatter.format(today);

  System.out.println("现在为:" + dateOut);

  System.out.println(formatter.parse("2008年8月8日晚上8时00分00秒"));// 这个演示了用parse()方法将字符串转换为Date对象,注意作为参数的字符串必须符合生成SimpleDateFormat对象的格式字符串

  System.out.println("—————————使用Calendar相关类获得日期和时间—————————");

  Calendar calendar = new GregorianCalendar();// Calendar相关类提供了另一种实现日期和时间的方法,GregorianCalendar的构造方法可以指定时区(TimeZone)和区域设置(Locale)
  calendar.setTime(today);

  System.out.println("年: " + calendar.get(Calendar.YEAR));
  System.out.println("月: " + (calendar.get(Calendar.MONTH) + 1));
  System.out.println("日: " + calendar.get(Calendar.DATE));
  System.out.println("AM_PM标志: " + calendar.get(Calendar.AM_PM));
  System.out.println("时: " + calendar.get(Calendar.HOUR_OF_DAY));
  System.out.println("分: " + calendar.get(Calendar.MINUTE));
  System.out.println("秒: " + calendar.get(Calendar.SECOND));

 }

}

 

这个程序的结果如下:

当前缺省的区域设置为:zh_CN
现在为:2009年8月28日 下午11时52分46秒
——————原来的时间标志——————
上午 下午
——————现在的时间标志——————
白天 晚上
现在为:2009年8月28日晚上11时52分46秒
Fri Aug 08 20:00:00 CST 2008
—————————使用Calendar相关类获得日期和时间—————————
年: 2009
月: 8
日: 28
AM_PM标志: 1
时: 23
分: 52
秒: 46

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值