——- android培训、java培训、期待与您交流! ———-
Date
日期对象和毫秒值之间的转换。
1,日期对象转成毫秒值。Date类中的getTime方法。
2,如何将获取到的毫秒值转成具体的日期呢?
Date类中的setTime方法。也可以通过构造函数。
//日期对象转成毫秒值
Date d = new Date();
long time1 = d.getTime();
long time2 = System.currentTimeMillis(); / /毫秒值。
//毫秒值转成具体的日期
long time = 1322709921312l;
Date d = new Date();
d.setTime(time);
将日期字符串转换成日期对象:
使用的就是DateFormat方法中的 Date parse(String source) ;
public static void method() throws Exception {
String str_time = "2011/10/25";
DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
//SimpleDateFormat作为可以指定用户自定义的格式来完成格式化。
Date d = df.parse(str_time);
}
具体方法演示
package XianChen;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class LiZi {
public static void main(String[] args) throws Exception {
test();
}
public static void test() throws Exception {
// 默认是当前时间建立的日期对象 t1 ==t2
Date d = new Date();
// long t1 =d.getTime();
// long t2 =System.currentTimeMillis();
String str = "2011/10/25";
// 创建一个简单日期格式
// SimpleDateFormat() 默认格式:15-6-8 下午8:04
DateFormat sf = new SimpleDateFormat("yyyy/MM/dd E hh:mm:ss");
// 默认日格式化
DateFormat df= DateFormat.getDateInstance(DateFormat.LONG);
// 将给定字符串格式化为日期对象
// d=sf.parse(str);// 报异常 与 给定格式不符"yyyy/MM/dd hh:mm:ss“
// 格式化给定日期
String time =sf.format(d);
System.out.println(time);
// 2015/06/08 星期一 08:06:55
String timed =df.format(d);
System.out.println(timed);
// 2015年6月8日
}
}
Calendar:日历类
public static void method(){
Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"
+getNum(c.get(Calendar.DAY_OF_MONTH))+"日"
+"星期"+getWeek(c.get(Calendar.DAY_OF_WEEK)));
}
public static String getNum(int num){
return num>9 ? num+"" : "0"+num;
}
public static String getWeek(int index){
/*
查表法:建立数据的对应关系.
最好:数据个数是确定的,而且有对应关系。如果对应关系的一方,是数字,而且可以作为角标,那么可以通过数组来作为表。
*/
String[] weeks = {"","日","一","二","三","四","五","六"};
return weeks[index];
}
代码演示
package XianChen;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class LiZi {
public static void main(String[] args) throws Exception {
// test();
calender();
}
public static void calender() {
// 在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar
Calendar calendar = new GregorianCalendar();
// 创建一个Date
Date trialTime = new Date();
// 看看当前的trialTime
System.out.println("Date : " + trialTime);
// 使用给定的 Date 设置此 Calendar 的时间。
calendar.setTime(trialTime);
// 这个就是输出年
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
// 这是一个特定于日历的值。一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
// 所以依次类推,输出月要+1,不然结果不是想要的效果
System.out.println("MONTH: " + calendar.get(Calendar.MONTH + 1));
// 指示当前年中的星期数
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
// 指示当前月中的星期数
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
// 查看是几号
System.out.println("DATE: " + calendar.get(Calendar.DATE));
// 当前月的第几天
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
// 当前年的第几天
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
// 指示一个星期中的某天
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
// 定义星期表 通过查表法返回正确星期数:
String[] weeks = {"","日","一","二","三","四","五","六"};
System.out.println("today is 星期"+weeks[calendar.get(Calendar.DAY_OF_WEEK)]);
// today is 星期一
// 当前天在这个月的第几个星期
System.out.println("DAY_OF_WEEK_IN_MONTH: " + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
// 判断是AM还是PM 中午之前还是在中午之后。,如果输出0是AM 上午,如果输出1是PM下午
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
// HOUR 用于 12 小时制时钟 ,假设现在上下午3点,则输出3
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
// 输出当前小时在这天的值,假设现在是下午3点,则输出15
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
// 输出分钟
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
// 输出秒
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
// 输出毫秒
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
// 以毫秒为单位指示距 GMT 的大致偏移量。
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET) / (60 * 60 * 1000)));
// 以毫秒为单位指示夏令时的偏移量。
System.out.println("DST_OFFSET: " + (calendar.get(Calendar.DST_OFFSET) / (60 * 60 * 1000)));
}
public static void test() throws Exception {
}
}
/*
运行结果:
Date : Mon Jun 08 21:53:00 CST 2015
YEAR: 2015
MONTH: 24
WEEK_OF_YEAR: 24
WEEK_OF_MONTH: 2
DATE: 8
DAY_OF_MONTH: 8
DAY_OF_YEAR: 159
DAY_OF_WEEK: 2
today is 星期一
DAY_OF_WEEK_IN_MONTH: 2
AM_PM: 1
HOUR: 9
HOUR_OF_DAY: 21
MINUTE: 53
SECOND: 0
MILLISECOND: 424
ZONE_OFFSET: 8
DST_OFFSET: 0
*/