大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Java技巧 > Java--日期的使用

Java--日期的使用

关键词:Java日期Java--日期的使用  阅读(607) 赞(13)

[摘要]本文主要是对Java--日期的使用的讲解,希望对大家学习Java--日期的使用有所帮助。

  Date 类: 最基础的日期时间类,返回一个相对日期的毫秒数。精确到毫秒,但不支持日期的国际化和分时区显示。

  Calender类: 相对于Date更加强大的时间类,是抽象类,提供了常规的日期修改功能和国际化支持。

  GregorianCalendar类: 提供处理日期的方法,用于计算日期,是Calendar类的子类,有用的是有个判断闰年的方法。

  DateFormat类: 可以接受字符串输入 输出,提供了将日期/时间信息进行格式化处理的功能。

  SimpleDateFormat类: 功能更强大的日期时间格式化类,自定义格式化日期和时间。

  java.util.Locale类: 描述特定的地理、政治、文化上的地区,Locale对象主要封装了“地区”和“语言种类”两方面 .

  1.获取当前时间

  public String GetCurTime()//获得当前时间

  {

  Date now=new Date();

  return now.getHours()+":"+now.getMinutes()+":"+now.getSeconds();

  }

  public String GetCurDate()//获得当前日期

  {

  Calendar cal=Calendar.getInstance();

  return cal.get(Calendar.YEAR)+"年"+(cal.get(Calendar.MONTH)+1)+"月"+cal.get(Calendar.DATE)+"日";

  }

  2.获取一月前时间

  calendar = Calendar.getInstance();

  calendar.add(Calendar.MONTH, -1);

  3.获取一年前时间

  calendar = Calendar.getInstance();

  calendar.add(Calendar.YEAR, -1);

  4.获取相对日期的毫秒数

  Calendar calendar = Calendar.getInstance();

  long nowTime = calendar.getTime().getTime();

  5.转换字符串为日期

  String strDate = "2011-08-13";

  SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");

  Date sDate = sDateFormat.parse(strDate);

  6.格式化显示日期型数据

  Date dt_in :日期型数据

  boolean bShowTimePart_in : 是否显示时间部分

  @return String 格式化后的日期格式

  */

  public String DoFormatDate(java.util.Date dt_in, boolean bShowTimePart_in) {

  if (bShowTimePart_in)

  return (new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")).format(dt_in);

  else

  return (new SimpleDateFormat("yyyy-MM-dd")).format(dt_in);

  }

  8.国际化,信息通常用于在国际化和本地化程序中的地区、语言相关的方式显示日期、数字或文本信息等

  public void testLocale(){

  Locale defaultLocale = Locale.getDefault(); //当前机器所在的国家和地区

  System.out.println(defaultLocale);

  System.out.println(defaultLocale.getLanguage()); //英文宿写的语言名

  System.out.println(defaultLocale.getCountry()); //英文宿写的国家名

  System.out.println(defaultLocale.getDisplayName()); //语言名(国家名)

  System.out.println(defaultLocale.getDisplayLanguage()); //语言名

  System.out.println(defaultLocale.getDisplayCountry()); //国家名

  System.out.println("--------------------------");

  }

 

  DateTime date = new DateTime(new Date(), DateTime.YEAR_TO_DAY);

  获取时分秒的方法:getDaysCount

  package ceshi;

  import java.text.ParseException;

  import java.text.SimpleDateFormat;

  import java.util.Date;

  public class Ceshi {

  public static void main(String[] args) throws ParseException {

  SimpleDateFormat CeshiFmt0=new SimpleDateFormat("Gyyyy年MM月dd日 HH时mm分ss秒");

  SimpleDateFormat CeshiFmt1=new SimpleDateFormat("yyyy/MM/dd HH:mm");

  SimpleDateFormat CeshiFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  SimpleDateFormat CeshiFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");

  SimpleDateFormat CeshiFmt4=new SimpleDateFormat("yyyy/MM/dd E");

  SimpleDateFormat CeshiFmt5=new SimpleDateFormat(

  "一年中的第 D 天 ,第w个星期 ,一个月中第W个星期 ,k时 z时区");

  Date now=new Date();

  System.out.println(CeshiFmt0.format(now));

  System.out.println(CeshiFmt1.format(now));

  System.out.println(CeshiFmt2.format(now));

  System.out.println(CeshiFmt3.format(now));

  System.out.println(CeshiFmt4.format(now));

  System.out.println(CeshiFmt5.format(now));

  }

  }

  公元2010年07月27日 09时19分29秒

  2010/07/27 09:19

  2010-07-27 09:19:29

  2010年07月27日 09时19分29秒 星期二

  2010/07/27 星期二

  一年中的第 208 天 ,第31个星期 ,一个月中第5个星期 ,9时 CST时区

  获取两个日期间的所有日期

  public static GregorianCalendar[]  getBetweenDate(String d1,String d2) throws ParseException

  {

  Vector<GregorianCalendar> v=new Vector<GregorianCalendar>();

  SimpleDateFormat  sdf=new SimpleDateFormat("yyyy-MM-dd");

  GregorianCalendar gc1=new GregorianCalendar(),gc2=new GregorianCalendar();

  gc1.setTime(sdf.parse(d1));

  gc2.setTime(sdf.parse(d2));

  do{

  GregorianCalendar gc3=(GregorianCalendar)gc1.clone();

  v.add(gc3);

  gc1.add(Calendar.DAY_OF_MONTH, 1);

  }while(!gc1.after(gc2));

  return v.toArray(new GregorianCalendar[v.size()]);

  }

  public static void main(String[] args) throws Exception {

  // TODO Auto-generated method stub

  GregorianCalendar[] ga=getBetweenDate("2009-11-29", "2009-12-5");

  for(GregorianCalendar e:ga)

  {

  System.out.println(e.get(Calendar.YEAR)+"年 "+

  +(e.get(Calendar.MONTH)+1)+"月 "+

  e.get(Calendar.DAY_OF_MONTH)+"号");

  }

  }



相关评论