Java语法语法回顾_Date
读了那么多年的书让我明白一个道理。人要稳重,不要想到啥就做啥。做一行越久即使你不会,几年之后慢慢的你也会了,加上一点努力你或许你能成为别人眼中的专家。
Date类的使用
/*
* Date:类 Date 表示特定的瞬间,精确到毫秒。
*
* 构造方法:
* Date():默认指当前系统时间。
* Date(long time):根据给定的毫秒值生成一个时间。
*
* 成员方法:
* public long getTime():
* public void setTime(long time):
*
* Date -- long 通过日期获取毫秒值
* Date d = new Date();
* long time = d.getTime();
*
* long -- Date 通过毫秒值得到日期对象
* long time = ???;
* Date d = new Date(time);
*
* Date d2 = new Date();
* d2.setTime(time);
*/
DateFormat使用
/*
* DateFormat:对日期进行格式化的类。提供了对日期进行格式化,和对字符串进行解析的功能。
*
* Date -- String
* public final String format(Date date)
* 需要自己指定格式,常见的格式:
* yyyy年MM月dd日 HH:mm:ss
yyyy年MM月dd日
HH:mm:ss
yyyy-MM-dd HH:mm:ss
* String -- Date
* public Date parse(String source)
* 注意:如果是字符串到日期,你指定的格式必须和字符串的格式匹配。
*
* 2013-12-12
* yyyy-MM-dd
*
* 2013/11/11
* yyyy/MM/dd
*/
DateFormat测试代码
public class DateFormatDemo {
public static void main(String[] args) throws ParseException {
//从Date--String
// 创建日期对象
Date d = new Date();
// Sat Dec 21 16:16:40 CST 2013
// System.out.println(d);
// 创建格式对象
// DateFormat df = new SimpleDateFormat();//多态
// SimpleDateFormat sdf = new SimpleDateFormat();// 用默认的模式
// 默认模式不是我们想要的,所以,我们要指定模式
// 怎么指定模式,获取说,这个模式是什么样子的?
//2013年12月21日 16:23:34
//yyyy年MM月dd日 HH:mm:ss
//SimpleDateFormat(String pattern)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
String str = sdf.format(d);
System.out.println(str);
System.out.println("************");
//从String--Date
String s = "2013-12-12 23:12:34";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dd = sdf2.parse(s);
System.out.println(dd);
}
}
Calendar:日历类
/*
* Calendar:日历类。也是处理时间的。
*
* 在日历字段和Calendar之间提供了转换功能:
* 从Calendar获取到任意一个日历字段。然后,按照我需要的数据进行组合。
*
* 成员方法:
* public int get(int field):参数是日历字段。
*/
Calendar日历类的测试代码
public class CalendarDemo {
public static void main(String[] args) {
// public static Calendar getInstance()
Calendar c = Calendar.getInstance();// 多态
// public static final int YEAR 年的字段
// public int get(int field):参数是日历字段。
int year = c.get(Calendar.YEAR);
// System.out.println(year);
// 月份
int month = c.get(Calendar.MONTH);
// 月份 0 - 11
// System.out.println(month + 1);
// 日
int date = c.get(Calendar.DATE);
// System.out.println(date);
// 时
int hour = c.get(Calendar.HOUR_OF_DAY);
// System.out.println(hour);
// 分
int minute = c.get(Calendar.MINUTE);
// System.out.println(minute);
// 秒
int second = c.get(Calendar.SECOND);
// System.out.println(second);
// 自己拼接
String s = year + "年" + (month + 1) + "月" + date + "日" + " " + hour
+ ":" + minute + ":" + ((second>9)?second:"0"+second);// 如果月份在1-9之间,默认加零
System.out.println(s);
}
}
DataFormatTest
/*需求:
获得当前时间,并把当前时间输出,然后把时间的格式变成咱们中国人习惯的格式输出,比如:
"2014年09月24日 09:58:58 星期三"
需求 :
1、获取当前时间
2、定义一个指定日期转换格式字符串
3、创建SimpleDateFormat对象,并将指定格式传入
4、调用format()方法将日期转换成对应的字符串
*/
DataFormatTest测试代码
public class DataFormatTest {
public static void main(String[] args) {
Date date = new Date();
String s = "yyyy年MM月dd日 HH:mm:ss E";
SimpleDateFormat format = new SimpleDateFormat(s);
String format2 = format.format(date);
System.out.println(format2);
}
}