oracle给⽇期加上时分秒_⽇期类与异常
1. 时间⽇期类-Date构造⽅法
什么是
Date 代表了⼀个特定的时间,精确到毫秒
public class DateDemo1 { public static void main(String[] args) { //public Date()创建⼀个Date对象,表⽰默认时间 //public Date(long date)创建⼀个Date对象
2. 时间⽇期类-Date成员⽅法
public class DateDemo2 { public static void main(String[] args) {// public long getTime()获取时间对象的毫秒值// public void setTime(long time)设置时间,
3. SimpleDateFormat类
SimpleDateFormat类有什么作⽤?
SimpleDateFormat可以对Date对象,进⾏格式化和解析
SimpleDateFormat类的常⽤⽅法
格式化(从Date到)
public final String format(Date date):将⽇期格式化成⽇期/时间字符串
解析(从⽇期/时间字符串String到Date)
public Date parse(String source):从给定字符串的开始解析⽂本以⽣成⽇期
public class DateDemo3 { public static void main(String[] args) throws ParseException { String s = "2048-01-01"; //SimpleDateFormat sdf = new Simple ⼩结:
北京时间需要在世界标准时间加上8⼩时
计算机中时间原点
1970年1⽉1⽇ 00:00:00
时间换算单位
1秒 = 1000毫秒
Date类概述
Date 代表了⼀个特定的时间,精确到毫秒
如何创建时间对象?
通过Date的,空参构造和带参构造,带参构造参数:是⾃1970年7⽉1⽇00:00:00经过的毫秒数
如何格式化和解析⽇期
通过SimpleDateFormat创建SimpleDateFormat类:
new SimpleDateFormat("⽇期模式")
格式化:format(Date string)
解析: parse(String date)
4. 时间⽇期类练习 (应⽤)
需求
秒杀开始时间是2020年11⽉11⽇ 00:00:00,结束时间是2020年11⽉11⽇ 00:10:00,⽤户⼩明下单时间是2020年11⽉11⽇
00:03:47,⽤户⼩李下单时间是2020年11⽉11⽇ 00:10:11,判断⽤户有没有成功参与秒杀活动
实现步骤
判断下单时间是否在开始到结束的范围内
把字符串形式的时间变成毫秒值
public class DateDemo1 { public static void main(String[] args) throws ParseException { //开始时间:2020年11⽉11⽇ 0:0:0 //结束时间:2020年11 LocalDateTime获取⽅法
public class JDK8DateDemo2 { public static void main(String[] args) { //public static LocalDateTime now() 获取当前系统时间相当于new Date() //public s LocalDateTime转换⽅法 (应⽤)
public class JDK8DateDemo3 { public static void main(String[] args) { //⾃定义时间 LocalDateTime localDateTime = LocalDateTime.of(2020, 12, 12, 8, 5. JDK8时间类-格式化和解析
public class JDK8DateDemo4 { public static void main(String[] args) { method1(); method2(); } private static void method2() { //public static Loca Period (应⽤)
public class JDK8DateDemo5 { public static void main(String[] args) { //public static Period between(开始时间,结束时间) 计算两个"时间"的间隔 LocalD Duration (应⽤)
public class JDK8DateDemo6 { public static void main(String[] args) { LocalDateTime localDateTime1 = LocalDateTime.of(2020, 1, 1, 13, 14, 15);
6. try-catch处理异常
格式:
try { 可能出现异常的代码;} catch(异常类名变量名) { 异常的处理代码;}
执⾏流程oracle 时间转换
程序从 try ⾥⾯的代码开始执⾏
出现异常,就会跳转到对应的 catch ⾥⾯去执⾏
执⾏完毕之后,程序还可以继续往下执⾏
7. try-catch常见问题
如果 try 中没有遇到问题,怎么执⾏?
会把try中所有的代码全部执⾏完毕,不会执⾏catch⾥⾯的代码
如果 try 中遇到了问题,那么 try 下⾯的代码还会执⾏吗?
那么直接跳转到对应的catch语句中,try下⾯的代码就不会再执⾏了当catch⾥⾯的语句全部执⾏完毕,表⽰整个体系全部执⾏完全,继续执⾏下⾯的代码
如果出现的问题没有被捕获,那么程序如何运⾏?
那么atch就相当于没有写.那么也就是⾃⼰没有处理.默认交给虚拟机处理.
同时有可能出现多个异常怎么处理?
出现多个异常,那么就写多个catch就可以了.注意点:如果多个异常之间存在⼦⽗类关系.那么⽗类⼀定要写在下⾯
⼩结:
什么是异常
程序中的不正常称为异常
异常的分类
编译期异常和运⾏时异常
谁处理异常?
原则上⽅谁调⽤谁处理,不想处理throws声明异常
实际开发过程中尽量不要让jvm来处理异常
如何捕获异常
通过atch来捕获
如何⼿动抛出异常
throw new 异常类()
为什么要⾃定义异常
在实际开发过程中有很多异常是jdk没有帮我们定义好的,⽐如age负数或超出范围异常,因此我们需要根据实际的业务⾃定义异常
如何⾃定义异常
继承RuntimeException,调⽤⽗类中的带参构造⽅法
实际开发过程中如何使⽤异常的原则(看情况)
Java类库中定义的可以预检测⽅式避免RuntimeException异常不应该通过catch的⽅式来处理,⽐
如:NullPointerException,IndexOutOfBoundsException等等
catch 时请分清稳定代码和⾮稳定代码,稳定代码指的是⽆论如何不会出错的代码。对于⾮稳定代码的 catch 尽可能进⾏区分异常类型,再做对应的异常处理
捕获异常是为了处理它,不要捕获了却什么都不处理⽽抛弃之,如果不想处理它,请将该异常抛给它
的调⽤者。最外层的业务使⽤者,必须处理异常,将其转化为⽤户可以理解的内容
捕获异常与抛异常,必须是完全匹配,或者捕获异常是抛异常的⽗类
避免直接抛出 new RuntimeException(),更不允许抛出 Exception 或者 Throwable,应使⽤有业务含义的⾃定义异常。推荐业界已定义过的⾃定义异常,如:DAOException / ServiceException 等
(声明:该刊载此⽂,是出于传递更多信息之⽬的。若有来源标注错误或侵犯了您的合法权益,请及时与我们联系,我们将及时更正、删除或依法处理。)
戳原⽂,更有料!
阅读原⽂
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论