经常用时间这玩意 但忘了写:
我们经常用 Date来定义时间,但我们也要去解析 和 自定义格式他:
【2种:】
本次基于Date讲解,其他的什么Calendar 啥的 自己去研究:
1. 解析转换时间【Date】:
DateFormat :
它支持,样式和模式,但是样式是内定的,你不能自定义:
样式:
1.DateFormat.SHORT 例如:15/2/15
2.DateFormat.MEDIUM例如:Der 2,2020
3.DateFormat.LONG 例如:December 2 ,2021
4.DateFormat.FULL例如: Friday,Decembr 2 ,2021
你得要先有样式,才能去解析时间 然后返回字符串类型的数字, 用静态方法 :
static DateFormat |
getDateInstance(int style) |
他还有模式啊: 不止是 getDateInstance 还可以 是 时间 、 日期时间 还可以指定时区....
去获取一个样式,然后用静态方法调用他的 format 或 parse 应该明白吧? 下面例子:
import java.text.DateFormat; import java.text.ParseException; import java.util.Date; public class DateForm { public static void main(String[] args) { DateFormat shor = DateFormat.getDateInstance(DateFormat.SHORT); System.out.println(shor.format(new Date())); try { System.out.println(shor.parse("20-6-6")); //这里一定要对上格式 不然异常 } catch (ParseException e) { e.printStackTrace(); } } }
还可以设置严格模式...还有很多设置详看API
这个可以 但是非常不方便! 所以呢!
2.SimpleDateFormat
他是 DateFormat的升级版 他可以自定义格式的时间日期:
Date and Time Pattern | Result |
---|---|
"yyyy.MM.dd G 'at' HH:mm:ss z" |
2001.07.04 AD at 12:08:56 PDT |
"EEE, MMM d, ''yy" |
Wed, Jul 4, '01 |
"h:mm a" |
12:08 PM |
"hh 'o''clock' a, zzzz" |
12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" |
0:08 PM, PDT |
"yyyyy.MMMMM.dd GGG hh:mm aaa" |
02001.July.04 AD 12:08 PM |
"EEE, d MMM yyyy HH:mm:ss Z" |
Wed, 4 Jul 2001 12:08:56 -0700 |
"yyMMddHHmmssZ" |
010704120856-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" |
2001-07-04T12:08:56.235-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" |
2001-07-04T12:08:56.235-07:00 |
"YYYY-'W'ww-u" |
2001-W27-3 |
我们一般是 xxxx-xx-xx 所以是: yyyy-MM-dd
首先创建一个自定义格式的字符串,然后把new 一个对【刚开始是默认格式】
-
构造方法 Constructor and Description SimpleDateFormat()
使用默认的FORMAT
现场默认模式和日期格式的符号构建了一个SimpleDateFormat
。SimpleDateFormat(String pattern)
使用给定的模式和默认的日期格式符号默认FORMAT
现场构建了一个SimpleDateFormat
。SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
使用给定的模式和日期格式的符号构建了一个SimpleDateFormat
。SimpleDateFormat(String pattern, Locale locale)
使用给定的模式和默认的日期格式符号为给定的区域构造SimpleDateFormat
。
例:【很简单的......】-
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateForm { public static void main(String[] args) { String form = "yyyy-MM-dd"; SimpleDateFormat dateFormat = new SimpleDateFormat(form); Date now = new Date(); System.out.println(dateFormat.format(now)); try { System.out.println(dateFormat.parse("2020-06-06")); } catch (ParseException e) { e.printStackTrace(); } } }
-
好了 这就是 最最最基础的时间转换了
希望帮到大家不会的..................................永远的学生 - bihu
-