/*
* 日期对象和毫秒值之间的转换。
*
* 毫秒值---》日期对象:
*
1.通过Date对象的构造方法new Date(timeMillis)
*
2.还可以通过setTime设置。
* 因为可以过Date对象的方法对该日期中的各个字段(年月日等进行操作)
*
* 日期对象--》毫秒值:
* 2。getTime方法。
* 因为可以通过具体的数值进行运算。
*/
public static void getTime()
{
/*
* 对日期对象进行格式化:
*/
Date date = new Date();
//获取日期格式方法:具备着默认的风格()************固定格式
DateFormat dateFormat = DateFormat.getDateInstance();//2014-5-21
dateFormat = DateFormat.getDateInstance(DateFormat.LONG);//2014年5月21日
dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);//2014年5月21日 下午11时05分43秒
//***************************自定义格式************************
dateFormat = new SimpleDateFormat("--yy--MM--dd--");
String str = dateFormat.format(date);
System.out.println(str);
}
/*
* 将日期格式的字符串转换成为----》日期对象
*
使用的是 DateFormat
*/
public static void getTime2() throws ParseException
{
String str = "2014-3-5";//默认格式
DateFormat dateFormat = DateFormat.getDateInstance();
//自定义格式解析
str = "2014年5月20日";
dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
str = "2014----5----22";
dateFormat = new SimpleDateFormat("yyyy----MM----dd");//自定义解析方法
Date date = dateFormat.parse(str);
System.out.println(date);
}
/*
* 练习:
*
计算俩个日期之间的差: 2013-3-13——2014-3-23中间有多少tian
* 1.将日期格式的字符串转成Date对象。
* 2.将Date对象转成毫秒值
* 3相减。。
*/
public static void test(String s1, String s2) throws ParseException
{
//将日期字符转成日期对象.
DateFormat dateFormat = DateFormat.getDateInstance();
dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = dateFormat.parse(s1);
Date date2 = dateFormat.parse(s2);
long time1 = date1.getTime();
long time2 = date2.getTime();
long time = Math.abs(time1-time2);//time1-time2
System.out.println(time);
}
/*
* Calendar日历演示:
*/
public static void testCalendar()
{
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//月是从 0开始的
int day = c.get(Calendar.DAY_OF_MONTH);
int week = c.get(Calendar.DAY_OF_WEEK);//星期的第一天 7
System.out.println(year+"年"+month+"月"+day+"日 "+getWeek(week));
}
public static String getWeek(int i)
{
String[] weeks = {"", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
return weeks[i];
}
public static void main(String[] args) throws ParseException
{
// TODO Auto-generated method stub
/*
* Runtime没有构造方法 ,说明该类不可以创建对象。又发现还有非静态的方法,
* 说明该类应提供静态的返回该类对象的方法。
* 而且只有一个,说Runtime类使用了单例模式
*/
//
Runtime r = Runtime.getRuntime();//
getTime();//
getTime2();testCalendar();
}
Java——日期格式