---------------------- android开发、java培训、期待与您交流! ---------------------
黑马程序员-有关日期时间的总结
DateFormat 是日期格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。将日期表示为 Date 对象, DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认时间。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);
使用 getDateInstance 来获取该地区的标准日期格式。另外还提供了一些其他静态方法。使用 getTimeInstance 可获取该地区的时间格式。使用 getDateTimeInstance 可获取日期和时间格式。可以将不同选项传入这些方法,以控制结果的长度。确切的结果取决于语言环境,但是通常: 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。
Calendar :DateFormat使用calendar来生成实现日期和时间格式化所需的时间字段值。子类应将此calendar 初始化为适合于此 DateFormat 关联的语言环境的日期。 DATE_FIELD:用于对齐DATE字段的有用常量。
课堂笔记:
(1)----------------------------------------------------------------
//获得当前日期、时间的代码
import java.util.*;
import java.text.*;
class CalendarDamo
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();
sop(c);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
(2)----------------------------------------------------------------
//获取用阿拉伯数字表示的日期、时间
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();
//获取年,月,日等时间,但是表示的形式是数字
sop(c.get(Calendar.YEAR)+"年");//打印年份
sop((c.get(Calendar.MONTH)+1)+"月");//打印月份
sop(c.get(Calendar.DAY_OF_MONTH));//打印几日
sop("星期"+c.get(Calendar.DAY_OF_WEEK));//打印出星期几
public static void sop(Object obj)
{
System.out.println(obj);
}
}
(3)----------------------------------------------------------------
//获得用大写整数表示的日期、时间格式的代码
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();
String[] mons={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
String[] weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
//用大写数字表示如下
sop(c.get(Calendar.YEAR)+"年");//获得年份
int index=c.get(Calendar.MONTH);//获得月份
sop(mons[index]);
sop(c.get(Calendar.DAY_OF_MONTH));//获得日期
int index1=c.get(Calendar.DAY_OF_WEEK);//获得星期几
sop(weeks[index1]);
}
public static void sop(Object obj)//自定义打印方法
{
System.out.println(obj);
}
}
(4)----------------------------------------------------------------
//自定义基准时间,并获取想要的日期时间,结果用大写整数表示
import java.util.*;//导入java.util包
class CalendarDemo2 //建立CalendarDemo2类
{
public static void main(String[] args) //主方法
{
Calendar c=Calendar.getInstance();//获取为日期和时间使用 SHORT 风格的默认日期/时间格式器
c.set(2012,2,23);//自己设定时间
c.add(Calendar.YEAR,4);//在原有时间上往后推4年,也可以对月份进行操作
printCalendar(c);//打印日期
}
public static void printCalendar(Calendar c)//自定义输出日期的方法
{
String[] mons={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
//用查表的方式列出一年的十二个月,一周的七天
String[] weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
//获得的日期的数字用大写数字表示代码如下
sop(c.get(Calendar.YEAR)+"年");//获得年份
int index=c.get(Calendar.MONTH);//获得月份
sop(mons[index]);//打印月份
sop(c.get(Calendar.DAY_OF_MONTH));//获得日期
int index1=c.get(Calendar.DAY_OF_WEEK);//获得星期几
sop(weeks[index1]);//打印星期几
}
public static void sop(Object obj)//自定义打印方法
{
System.out.println(obj);
}
}
---------------------- android开发、java培训、期待与您交流! ---------------------