您的位置:首页 > 编程语言 > Java开发

20145225《Java程序设计》 第7周学习总结

2016-04-17 20:54 453 查看

20145225《Java程序设计》

第7周学习总结

教材学习内容总结

第十三章 时间与日期

13.1认识时间与日期



时间的度量:GMT、UT、TAI、UTC、Unix、epoch。

年历:Julian Calendar、Gergorian Calendar、ISO 8601标准。

时区。


13.2认识Date与Calendar



Date:使用Date实例的各getTime可以获得epoch毫秒数,**Data实例只用来当做时间轴上的某一瞬间。

格式化时间日期的DataFormat:方法:GetDateInstance、GetTimeInstance、GetDateTimeInstance、 直接构建SimpleDateFormat。

处理时间日期的Calendar:取得Calendar实例后,可以取得年月日信息,可以进行设定,可以进行运算来改变。

TimeZone:TimeZone的getdefault可以取得默认时区的信息。


import java.util.Date;
import static java.lang.System.currentTimeMillis;
import static java.lang.System.out;

public class DateDemo {
public static void main(String[] args) {
Date date1 = new Date(currentTimeMillis());
Date date2 = new Date();
out.println(date1.getTime());
out.println(date2.getTime());
}
}



import java.util.Date;
import static java.lang.System.out;
import static java.text.DateFormat.*;
public class DateFormatDemo {
public static void main(String[] args) {
Date date = new Date();
dateInstanceDemo(date);
timeInstanceDemo(date);
dateTimeInstanceDemo(date);
}
static void dateInstanceDemo(Date date) {
out.println("getDateInstance() demo");
out.printf("\tLONG: %s%n", getDateInstance(LONG).format(date));

out.printf("\tSHORT: %s%n", getDateInstance(SHORT).format(date));
}

static void timeInstanceDemo(Date date) {
out.println("getTimeInstance() demo");
out.printf("\tLONG: %s%n", getTimeInstance(LONG).format(date));
out.printf("\tMEDIUM: %s%n", getTimeInstance(MEDIUM).format(date));
out.printf("\tSHORT: %s%n", getTimeInstance(SHORT).format(date));
}

static void dateTimeInstanceDemo(Date date) {
out.println("getDateInstance() demo");
out.printf("\tLONG: %s%n", getDateTimeInstance(LONG, LONG).format(date));
out.printf("\tMEDIUM: %s%n", getDateTimeInstance(MEDIUM, MEDIUM).format(date));
out.printf("\tSHORT: %s%n", getDateTimeInstance(SHORT, SHORT).format(date));
}
}



import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class HowOld {
public static void main(String[] args) throws Exception {
System.out.print("输入出生年月日(yyyy-mm-dd):");
DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
Date begin = new Date();
Date birthday = dateFormat.parse(new Scanner(System.in).nextLine());
Date currentDate = new Date();
long life = currentDate.getTime() - birthday.getTime();
System.out.println("你今年的岁数为:" + (life / (365 * 24 * 60 * 60 * 1000L)));
Date end = new Date();
long duration = end.getTime() - begin.getTime();
System.out.println("运行时间:" + (duration));
}
}

13.3新时间日期API


1.机器时间观点:Date实例只代表机器观点的时间信息。

2.人类时间观点:LockalDateTime、LocalDate、LocalTime。

3.对时间的运算。

4.年历系统设计。


import static java.lang.System.out;
import java.time.*;
public class ZonedDateTimeDemo {
public static void main(String[] args) {
LocalTime localTime = LocalTime.of(0, 0, 0);
LocalDate localDate = LocalDate.of(1975, 4, 1);
ZonedDateTime zonedDateTime = ZonedDateTime.of(
localDate, localTime, ZoneId.of("Asia/Taipei"));

out.println(zonedDateTime);
out.println(zonedDateTime.toEpochSecond());
out.println(zonedDateTime.toInstant().toEpochMilli());
}
}

代码调试中的问题和解决过程

本周代码见代码托管https://git.oschina.net/nizaikanwoba/java-besti-is-2015-2016-2-20145225

其他(感悟、思考等,)

好好学。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)
目标5000行30篇400小时
第一周150/1502/215/15
第二周150/3001/315/30
第三周200/5001/415/45
第四周200/7001/515/60
第五周200/9001/615/75
第六周200/11001/715/80
第七周200/13002/915/75

参考资料

Java学习笔记(第8版)

《Java学习笔记(第8版)》学习指导

毕向东java视频及教学pdf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: