Java日期格式大全

合集下载

java8时间yyyyMMddHHmmss格式转为日期的代码

java8时间yyyyMMddHHmmss格式转为日期的代码

java8时间yyyyMMddHHmmss格式转为⽇期的代码我就废话不多说了,⼤家还是直接看代码吧~String datetime = "20140212111012";DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");LocalDateTime ldt = LocalDateTime.parse(datetime,dtf);System.out.println(ldt);DateTimeFormatter fa = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String datetime2 = ldt.format(fa);System.out.println(datetime2);补充知识:java中如何将String类型的⽇期格式为yyyyMMdd转化为date类型的yyyy-MM-dd格式今天在做webservice接⼝服务的时候,xml⽂件传⼊的⼀个节点为⼈员的出⽣⽇期,对应实体类的字段类型为Date类型,获取到的值为String类型,代码如下://获取的值为"19570323"String dateString = emp.getHealthCarePrincipalPerson().getBirthTime().getValue().toString();//1、定义转换格式SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat formatter2 = new SimpleDateFormat("yyyyMMdd");//2、调⽤formatter2.parse(),将"19570323"转化为date类型输出为:Sat Mar 23 00:00:00 GMT+08:00 1957Date date = formatter2.parse(dateString);//3、将date类型 (Sat Mar 23 00:00:00 GMT+08:00 1957)转化为String类型//注意现在⽤的是formatter来做转换,输出为String类型的:"1957-03-23"String dString = formatter.format(date);//4、将String转化为date,需要注意java.sql.Date.valueOf()函数只能接受参数类型为yyyy-MM-dd类型的Date data = java.sql.Date.valueOf(dString);//5、将获取的date类型的出⽣⽇期赋值给javabeanpersonAudit.setBirthDate((emp.getHealthCarePrincipalPerson() != null&& emp.getHealthCarePrincipalPerson().getBirthTime() != null)?data:null);以上这篇java8时间 yyyyMMddHHmmss格式转为⽇期的代码就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

java 时间格式写法

java 时间格式写法

java 时间格式写法在Java中,我们可以使用java.time包中的类来处理日期和时间。

以下是一些常见的日期和时间格式写法:1.获取当前日期和时间:javaimport java.time.LocalDateTime;LocalDateTime now = LocalDateTime.now();System.out.println(now); // 输出当前日期和时间2.格式化日期和时间:javaimport java.time.LocalDateTime;import java.time.format.DateTimeFormatter;LocalDateTime now = LocalDateTime.now();DateTimeFormatter formatter =DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String formattedDateTime = now.format(formatter);System.out.println(formattedDateTime); // 输出格式化后的日期和时间3.解析日期和时间:javaimport java.time.LocalDateTime;import java.time.format.DateTimeFormatter;String dateTimeStr = "2023-03-15 12:34:56";DateTimeFormatter formatter =DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");LocalDateTime dateTime =LocalDateTime.parse(dateTimeStr, formatter);System.out.println(dateTime); // 输出解析后的日期和时间4.处理时区:javaimport java.time.ZonedDateTime;import java.time.ZoneId;ZonedDateTime dateTime =ZonedDateTime.now(ZoneId.of("Asia/Shanghai"));System.out.println(dateTime); // 输出当前亚洲/上海时区的日期和时间以上是一些常见的Java日期和时间格式写法,你可以根据具体需求进行调整和扩展。

JAVA格式化日期、时间的方法

JAVA格式化日期、时间的方法

JAVA格式化⽇期、时间的⽅法使⽤ DateFormat 格式化⽇期、时间DateFormat 也是⼀个抽象类,它也提供了如下⼏个类⽅法⽤于获取 DateFormat 对象。

getDateInstance():返回⼀个⽇期格式器,它格式化后的字符串只有⽇期,没有时间。

该⽅法可以传⼊多个参数,⽤于指定⽇期样式和 Locale 等参数;如果不指定这些参数,则使⽤默认参数。

getTimeInstance():返回⼀个时间格式器,它格式化后的字符串只有时间,没有⽇期。

该⽅法可以传⼊多个参数,⽤于指定时间样式和 Locale 等参数;如果不指定这些参数,则使⽤默认参数。

getDateTimeInstance():返回⼀个⽇期、时间格式器,它格式化后的字符串既有⽇期,也有时间。

该⽅法可以传⼊多个参数,⽤于指定⽇期样式、时间样式和 Locale 等参数;如果不指定这些参数,则使⽤默认参数。

上⾯三个⽅法可以指定⽇期样式、时间样式参数,它们是的4个静态常量:FULL、LONG、MEDIUM 和 SHORT,通过这4个样式参数可以控制⽣成的格式化字符串。

看如下例⼦程序。

import java.util.*;import java.text.*;import static java.text.DateFormat.*;public class DateFormatTest {public static void main(String[] args) throws ParseException {// 需要被格式化的时间Date dt = new Date();// 创建两个Locale,分别代表中国、美国Locale[] locales = { Locale.CHINA, };DateFormat[] df = new DateFormat[16];// 为上⾯两个Locale创建16个DateFormat对象for (int i = 0; i < locales.length; i++) {df[i * 8] = DateFormat.getDateInstance(SHORT, locales[i]);df[i * 8 + 1] = DateFormat.getDateInstance(MEDIUM, locales[i]);df[i * 8 + 2] = DateFormat.getDateInstance(LONG, locales[i]);df[i * 8 + 3] = DateFormat.getDateInstance(FULL, locales[i]);df[i * 8 + 4] = DateFormat.getTimeInstance(SHORT, locales[i]);df[i * 8 + 5] = DateFormat.getTimeInstance(MEDIUM, locales[i]);df[i * 8 + 6] = DateFormat.getTimeInstance(LONG, locales[i]);df[i * 8 + 7] = DateFormat.getTimeInstance(FULL, locales[i]);}for (int i = 0; i < locales.length; i++) {String tip = i == 0 ? "----中国⽇期格式----" : "----美国⽇期格式----";System.out.println(tip);System.out.println("SHORT格式的⽇期格式:" + df[i * 8].format(dt));System.out.println("MEDIUM格式的⽇期格式:" + df[i * 8 + 1].format(dt));System.out.println("LONG格式的⽇期格式:" + df[i * 8 + 2].format(dt));System.out.println("FULL格式的⽇期格式:" + df[i * 8 + 3].format(dt));System.out.println("SHORT格式的时间格式:" + df[i * 8 + 4].format(dt));System.out.println("MEDIUM格式的时间格式:" + df[i * 8 + 5].format(dt));System.out.println("LONG格式的时间格式:" + df[i * 8 + 6].format(dt));System.out.println("FULL格式的时间格式:" + df[i * 8 + 7].format(dt));}}}上⾯程序共创建了16个 DateFormat 对象,分别为中国、美国两个 Locale 各创建8个 DateFormat 对象,分别是 SHORT、MEDIUM、LONG、FULL 四种样式的⽇期格式器、时间格式器。

java美式时间格式,日期操作类(DateFormat与SimpleDateFormat)。。。

java美式时间格式,日期操作类(DateFormat与SimpleDateFormat)。。。

java美式时间格式,⽇期操作类(DateFormat与SimpleDateFormat)。

1.DateFormat类此类是⼀个⽇期的格式化类,专门格式化⽇期的操作,因为java.util.Date类本⾝就已经包含了完整的⽇期,所以只需要将些⽇期按照⼀些好的格式格式化⼀下显⽰就好了.观察DateFormat类的定义:此类是定义在java.test包中的。

public abstract class DateFormat extends Format但是定义上可以发现,此类是⼀个抽象类,按照以住的思路,直接使⽤其⼦类实例化即可,但是DateFormat 类本⾝的内部提供了可以直接为其实例化的操作。

得到⽇期的DateFormat对象:public static final DateFormat getDateInstance()得到⽇期时间的DateFormat对象:public static final DateFormat getDateTimeInstance()直接使⽤DateFormat类完成Date类的转换功能:public final String format(Date date)美式⽇期格式12345678910111213import java.text.DateFormat ;import java.util.Date ;public class DateDemo03{public static void main(String args[]){DateFormat df1 =null ;// 声明⼀个DateFormatDateFormat df2 =null ;// 声明⼀个DateFormatdf1 = DateFormat.getDateInstance() ;// 得到⽇期的DateFormat对象df2 = DateFormat.getDateTimeInstance() ;// 得到⽇期时间的DateFormat对象System.out.println("DATE:" + df1.format(new Date())) ;// 按照⽇期格式化System.out.println("DATETIME:" + df2.format(new Date())) ;// 按照⽇期时间格式化}};中式⽇期格式(通过Locale对象指定要显⽰的区域,指定的区域是中国)importjava.text.DateFormat ;importjava.util.Date ;importjava.util.Locale ;publicclassDateDemo04{publicstaticvoidmain(String args[]){DateFormat df1 = null;// 声明⼀个DateFormatDateFormat df2 = null;// 声明⼀个DateFormatdf1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,newLocale("zh","CN")) ;// 得到⽇期的DateFormat对象df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,newLocale("zh","CN")) ;// 得到⽇期时间的DateFormat对象System.out.println("DATE:"+ df1.format(newDate())) ;// 按照⽇期格式化System.out.println("DATETIME:"+ df2.format(newDate())) ;// 按照⽇期时间格式化}}; 2.SimpleDateFormat类此类的功能是完成⽇期的显⽰格式化的,例如,在开发中,可以会将⼀种⽇期格式变为另外⼀种⽇期格式,如下所⽰:原始⽇期:2008-10-19 10:11:30.345转换捕⽇期:2008 年 10 ⽉ 19 ⽇ 10 点 11 分 30 秒 345 毫秒但是以上的两个⽇期中⽇期的数字是完全⼀样的,唯⼀不同的是⽇期的显⽰格式不同,所以要想实现这样的转换功能就必须依靠SimpleDateFormat类。

Java日期格式加上指定月数(一个期限)得到一个新日期的实现代码

Java日期格式加上指定月数(一个期限)得到一个新日期的实现代码

Java⽇期格式加上指定⽉数(⼀个期限)得到⼀个新⽇期的实现代码下⾯⼀段实例代码给⼤家介绍java⽇期格式加上指定⽉数得到⼀个新⽇期,具体代码如下所⽰:public static Date getnewDate(Date olddate, String recordDate) throws ParseException {Date date = olddate;SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");String data = format.format(date);String dataStr[] = data.split("-");//年份int year = (Integer.parseInt(dataStr[1]) + Integer.parseInt(recordDate))/12;//⽉份int yue = (Integer.parseInt(dataStr[1]) + Integer.parseInt(recordDate))%12;String a = "";if(yue<10){if(yue<1){a = "12";}else{a = "0"+yue;}}else {a = yue+"";}dataStr[0]=String.valueOf(Integer.parseInt(dataStr[0]) + year);dataStr[1]=a;String newdata = dataStr[0]+"-"+dataStr[1]+"-"+dataStr[2];Date newDate = format.parse(newdata);return newDate;}下⾯给⼤家补充介绍Java中⼀个指定⽇期加上指定天数得到新⽇期的实现代码package com.date.test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Test {public static void main(String[] args) throws ParseException {SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // ⽇期格式Date date = dateFormat.parse("2015-07-31"); // 指定⽇期Date newDate = addDate(date, 20); // 指定⽇期加上20天System.out.println(dateFormat.format(date));// 输出格式化后的⽇期System.out.println(dateFormat.format(newDate));}public static Date addDate(Date date,long day) throws ParseException {long time = date.getTime(); // 得到指定⽇期的毫秒数day = day*24*60*60*1000; // 要加上的天数转换成毫秒数time+=day; // 相加得到新的毫秒数return new Date(time); // 将毫秒数转换成⽇期}}。

Java中日期的格式

Java中日期的格式

Java中日期的格式1、java.util.Date类用于表示日期和时间,要获取当前时间,可以使用下面的代码:1.Date d = new Date();2.System.out.println(d.toString());下面是输出的结果:Mon Feb 06 15:45:47 CST 2006如果想按照特定的格式进行输出,可以按照下面的方法完成,但是现在的版本中建议不要使用。

1.int year = d.getYear()+1900;2.int month = d.getMonth()+1;3.int date = d.getDate();4.int hour = d.getHours();5.int minute = d.getMinutes();6.int second = d.getSeconds();7.System.out.println(year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second);执行的结果如下:2006-2-6 15:52:31如果想根据年月日来确定一个Date对象可以先创建一个对象,然后使用setter方法来完成,例如:setYear(int)、setMonth(int)等,当然这些方法也是建议不使用。

如果想对时间进行比较灵活的处理可以使用DateFormat和SimpleDateFormat。

如果想按照下面的格式进行输出:2006年02月06日 16点05分37秒可以使用下面的代码:1.DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 hh点mm分ss秒");2.String str = df.format(d);3.System.out.println(str);格式中yyyy表示年份,可以写2位,MM表示月份,可以写1位,dd表示日,可以写1位,hh表示小时,mm表示分钟(注意大小写),ss表示秒。

java日期格式Date,Timestamp存入数据库

java日期格式Date,Timestamp存入数据库
不知道是怎么存储的想要检索内容但是保存时候生成的是图片没法搜索
java日期格式 Date,Timestamp存入数据库
java获取取得Timestamp类型的当前系统时间 格式:yyyy-MM-dd HH:mm:ss 精确值:2019-01-04 11:19:22 方法1:
Timestamp t = new Timestamp(System.currentTimeMillis()); preparedStatement.setTimestamp(1,t);
方法2:
Date date = new Date(); Timestamp t= new Timestamp(date.getTime()); preparedStatement.setTimestamp(1,t);
说明:java.sql.Date 只存储日期数据不存储时间数据
// 会丢失时间数据 preparedStatement.setDate(1, new java.sql.Date(date.getTime())); //可以这样来处理 preparedStatement.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().完整的数据,包括日期和时间,可以这样 java.util.Date d = resultSet.getTimestamp(1); //这样处理更合适一些,可以避免一些潜在Timestamp 问题 java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());

Java处理Excel中的日期格式

Java处理Excel中的日期格式

Java处理Excel中的⽇期格式
Java处理Excel中的⽇期格式
2011-12-23 17:34:03| 分类: |举报 |字号
在Excel中的⽇期格式,其数值为距离1900年1⽉1⽇的天数,⽐如2009-12-24将其转化为数字格式时变成了40171,在⽤java处理的时候,读取的也将是40171。

在POI处理Excel中的⽇期类型的单元格时,如果仅仅是判断它是否为⽇期类型的话,最终会以NUMERIC类型来处理。

正确的处理⽅法是先判断单元格的类型是否则NUMERIC类型,然后再判断单元格是否为⽇期格式,如果是的话,
创建⼀个⽇期格式,再将单元格的内容以这个⽇期格式显⽰出来。

如果单元格不是⽇期格式,那么则直接得到NUMERIC的值就⾏了。

具体代码如下:
if (0 == cell.getCellType()) {
//判断是否为⽇期类型
if(HSSFDateUtil.isCellDateFormatted(cell)){
//⽤于转化为⽇期格式
Date d = cell.getDateCellValue();
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
str[k] = formater.format(d);
}else{
// ⽤于格式化数字,只保留数字的整数部分
DecimalFormat df = new DecimalFormat("########");
str[k] = df.format(cell.getNumericCellValue());
}。

java中Date与DateFormat的格式输出

java中Date与DateFormat的格式输出

java中Date与DateFormat的格式输出Java8中计算⽇期时间差Java8中计算⽇期时间差https:///hspingcc/article/details/73332526____________________________________________________________________________________________________________⼀.简述在Java8中,我们可以使⽤以下类来计算⽇期时间差异:1.Period2.Duration3.ChronoUnit⼆.Period类主要是Period类⽅法getYears(),getMonths()和getDays()来计算.1⽰例:package insping;import java.time.LocalDate;import java.time.Month;import java.time.Period;public class Test {public static void main(String[] args) {LocalDate today = LocalDate.now();System.out.println("Today : " + today);LocalDate birthDate = LocalDate.of(1993, Month.OCTOBER, 19);System.out.println("BirthDate : " + birthDate);Period p = Period.between(birthDate, today);System.out.printf("年龄 : %d 年 %d ⽉ %d ⽇", p.getYears(), p.getMonths(), p.getDays());}}结果:Today : 2017-06-16BirthDate : 1993-10-19年龄 : 23 年 7 ⽉ 28 ⽇三.Duration类提供了使⽤基于时间的值(如秒,纳秒)测量时间量的⽅法。

java中日期格式的转换

java中日期格式的转换
return ctime;
}
public static String getYear(){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("yyyy");
String ctime = formatter.format(new Date());
1.字串转日期:
2002-10-8 15:30:22要把它转成日期,可以用
Date date=sdf.parse("2002-10-8 15:30:22");
2.日期转字串
假如把今天的日期转成字串可用
String datestr=sdf.format(new Date());
String ctime = formatter.format(time);
return ctime;
}
/**
*取系统当前时间:返回只值为如下形式
*2002-10-30 20:24:39
* @return String
*/
public static String Now(){
return ctime;
}
public static String getWeek(){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("E");
String ctime = formatter.format(new Date());
formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss");

javastring与date类型转换Java中日期时间比较

javastring与date类型转换Java中日期时间比较

java string与date类型转换来源:CSDN作者:shixiaolan_2001发布时间:2008-3-28人气:24204∙/**SimpleDateFormat函数语法:G年代标志符y年M月d日h时在上午或下午(1~12)H时在一天中(0~23)m分s秒S毫秒E星期D一年中的第几天F一月中第几个星期几w一年中第几个星期W一月中第几个星期a上午/下午标记符k时在一天中(1~24)K时在上午或下午(0~11)z时区∙常见标准的写法"yyyy-MM-dd HH:mm:ss",注意大小写,时间是24小时制,24小时制转换成12小时制只需将HH改成hh,不需要另外的函数。

*/∙∙DateFormat format1=new SimpleDateFormat("yyyy-MM-dd");∙DateFormat format2=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");∙Date date=null;∙String str=null;∙∙//String转Date∙str="2007-1-18";∙try{∙date=format1.parse(str);∙data=format2.parse(str);∙}catch(ParseException e){∙ e.printStackTrace();∙}∙∙//Date转String∙date=new Date();∙str=format1.format(date);∙str=format2.format(date);1、Date——>StringString sdate;Date ddate;……sdate=(new SimpleDateFormat("yyyy-MM-dd")).format(ddate);2、String——>DateSimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");sdf.setLenient(false);String sdate="2006-06-06";Date ddate;ddate=sdf.parse(sdate);另外Integer、Double等数据包装类型与String类型的相互转换为:(以Integer为例)Integer——>StringInteger ii;String si;……si=ii.toString;String——>InttegerInteger ii;String si;……ii=Integer.valueOf(si);附:日期和时间模式(摘自JDK1.50DOC)日期和时间格式由日期和时间模式字符串指定。

【Java基础】Java日期格式问题

【Java基础】Java日期格式问题

【Java基础】Java⽇期格式问题1. Use SimpleDateFormat to format Date.Watch out, SDF is NOT THREAD-SAFE, it might not be important but keep that in mind./*** 时间格式(yyyy-MM-dd)*/public static final String DATE_PATTERN = "yyyy-MM-dd";public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern(DATE_PATTERN);/*** 时间格式(yyyy-MM-dd HH:mm:ss)*/public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern(DATE_TIME_PATTERN);String to Datepublic static String getStringByDate(Date date) {SimpleDateFormat format = new SimpleDateFormat(DATE_PATTERN); //DateFormatDate date = null;try {// Fri Feb 24 00:00:00 CST 2012date = format.parse(str);} catch (ParseException e) {e.printStackTrace();}}Date to Stringprivate static String dateToString(Date dt, String dateFormate){DateFormat dFormat = new SimpleDateFormat(dateFormate);//DATE_PATTERNreturn dFormat.format(dt);}2. Use DateTimeFormatter to format DateIt is true however that DateTimeFormatters are thread-safe and hence will have one instantiation more per call./*** 默认 zoneId*/private static final ZoneId DEFAULT_ZONE_ID = TimeZone.getTimeZone("GMT+8").toZoneId();Date date = new Date();//System timeLocalDate ldate = LocalDate.from(date.toInstant().atZone(DEFAULT_ZONE_ID));String s = DateTimeFormatter.ISO_DATE.format(ldate); // uuuu-MM-ddString to Datepublic static Date getDateByStringHms(String st) {LocalDateTime localDateTime=LocalDateTime.parse(st, Constant.DATE_TIME_FORMATTER);Instant instant = localDateTime.atZone(DEFAULT_ZONE_ID).toInstant();return Date.from(instant);}Date to Stringpublic static String getStringByDate(Date date) {Instant instant = date.toInstant();LocalDate localDate = instant.atZone(DEFAULT_ZONE_ID).toLocalDate();return localDate.format(Constant.DATE_FORMATTER);}格式问题使⽤上诉⽅法,譬如:Calendar cal = Calendar.getInstance();cal.add(Calendar.DATE, 1);Date date = cal.getTime();SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");String date1 = format1.format(date);Date inActiveDate = null;try {inActiveDate = format1.parse(date1);} catch (ParseException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}如果直接使⽤inActiveDate.toString将产⽣inActiveDate = Wed Sep 26 00:00:00 IST 2019这种格式的数据。

常见日期格式

常见日期格式

impor‎t jav‎a.mat‎h.Big‎D ecim‎a l;i‎m port‎java‎.text‎.Date‎F orma‎t;im‎p ort ‎j ava.‎t ext.‎P arse‎E xcep‎t ion;‎impo‎r t ja‎v a.te‎x t.Si‎m pleD‎a teFo‎r mat;‎impo‎r t ja‎v a.ut‎i l.Ca‎l enda‎r;im‎p ort ‎j ava.‎u til.‎D ate;‎impo‎r t ja‎v a.ut‎i l.Ti‎m eZon‎e;im‎p ort ‎j ava.‎u til.‎r egex‎.Matc‎h er;‎i mpor‎t jav‎a.uti‎l.reg‎e x.Pa‎t tern‎;pu‎b lic ‎c lass‎Date‎U til‎{‎// 默‎认显示日期‎的格式‎ pu‎b lic ‎s tati‎c fin‎a l St‎r ing ‎D ATAF‎O RMAT‎_STR ‎= "yy‎y y-MM‎-dd";‎‎// 默‎认显示日期‎的格式‎ pu‎b lic ‎s tati‎c fin‎a l St‎r ing ‎Y YYY_‎M M_DA‎T AFOR‎M AT_S‎T R = ‎"yyyy‎-MM";‎‎// 默‎认显示日期‎时间的格式‎‎p ubli‎c sta‎t ic f‎i nal ‎S trin‎g DAT‎A TIME‎F_STR‎= "y‎y yy-M‎M-dd ‎H H:mm‎:ss";‎‎// 默‎认显示简体‎中文日期的‎格式‎ pub‎l ic s‎t atic‎fina‎l Str‎i ng Z‎H CN_D‎A TAFO‎R MAT_‎S TR =‎"yyy‎y年MM月‎d d日";‎‎// 默‎认显示简体‎中文日期时‎间的格式‎ p‎u blic‎stat‎i c fi‎n al S‎t ring‎ZHCN‎_DATA‎T IMEF‎_STR ‎= "yy‎y y年MM‎月dd日H‎H时mm分‎s s秒";‎‎// 默‎认显示简体‎中文日期时‎间的格式‎ p‎u blic‎stat‎i c fi‎n al S‎t ring‎ZHCN‎_DATA‎T IMEF‎_STR_‎4yMMd‎d HHmm‎= "y‎y yy年M‎M月dd日‎H H时mm‎分";‎ p‎r ivat‎e sta‎t ic D‎a teFo‎r mat ‎d ateF‎o rmat‎= nu‎l l;‎ p‎r ivat‎e sta‎t ic D‎a teFo‎r mat ‎d ateT‎i meFo‎r mat ‎= nul‎l;‎ pr‎i vate‎stat‎i c Da‎t eFor‎m at z‎h cnDa‎t eFor‎m at =‎null‎;‎ pri‎v ate ‎s tati‎c Dat‎e Form‎a t zh‎c nDat‎e Time‎F orma‎t = n‎u ll;‎ s‎t atic‎‎{‎‎d ateF‎o rmat‎= ne‎w Sim‎p leDa‎t eFor‎m at(D‎A TAFO‎R MAT_‎S TR);‎‎ d‎a teTi‎m eFor‎m at =‎new ‎S impl‎e Date‎F orma‎t(DAT‎A TIME‎F_STR‎);‎‎zhcn‎D ateF‎o rmat‎= ne‎w Sim‎p leDa‎t eFor‎m at(Z‎H CN_D‎A TAFO‎R MAT_‎S TR);‎‎ z‎h cnDa‎t eTim‎e Form‎a t = ‎n ew S‎i mple‎D ateF‎o rmat‎(ZHCN‎_DATA‎T IMEF‎_STR)‎;‎ pr‎i vate‎stat‎i c Da‎t eFor‎m at g‎e tDat‎e Form‎a t(St‎r ing ‎f orma‎t Str)‎‎{‎‎i f (f‎o rmat‎S tr.e‎q uals‎I gnor‎e Case‎(DATA‎F ORMA‎T_STR‎))‎‎{‎‎‎r etur‎n dat‎e Form‎a t;‎‎ } e‎l se i‎f (fo‎r matS‎t r.eq‎u alsI‎g nore‎C ase(‎D ATAT‎I MEF_‎S TR))‎‎ {‎‎‎ re‎t urn ‎d ateT‎i meFo‎r mat;‎‎ }‎else‎if (‎f orma‎t Str.‎e qual‎s Igno‎r eCas‎e(ZHC‎N_DAT‎A FORM‎A T_ST‎R))‎‎ {‎‎‎retu‎r n zh‎c nDat‎e Form‎a t;‎‎ } e‎l se i‎f (fo‎r matS‎t r.eq‎u alsI‎g nore‎C ase(‎Z HCN_‎D ATAT‎I MEF_‎S TR))‎‎ {‎‎‎ re‎t urn ‎z hcnD‎a teTi‎m eFor‎m at;‎‎ } ‎e lse‎‎ {‎‎‎ ret‎u rn n‎e w Si‎m pleD‎a teFo‎r mat(‎f orma‎t Str)‎;‎‎}‎}‎ /*‎*‎ * 按‎照默认显示‎日期时间的‎格式"yy‎y y-MM‎-dd H‎H:mm:‎s s",转‎化date‎T imeS‎t r为Da‎t e类型‎‎* dat‎e Time‎S tr必须‎是"yyy‎y-MM-‎d d HH‎:mm:s‎s"的形式‎‎*‎ *‎@par‎a m da‎t eTim‎e Str‎‎* @re‎t urn‎‎*/‎ pub‎l ic s‎t atic‎Date‎getD‎a te(S‎t ring‎date‎T imeS‎t r)‎ {‎‎ re‎t urn ‎g etDa‎t e(da‎t eTim‎e Str,‎DATA‎T IMEF‎_STR)‎;‎}‎ /*‎*‎ * 按‎照默认fo‎r matS‎t r的格式‎,转化da‎t eTim‎e Str为‎D ate类‎型 * d‎a teTi‎m eStr‎必须是fo‎r matS‎t r的形式‎‎*‎ *‎@par‎a m da‎t eTim‎e Str‎‎* @pa‎r am f‎o rmat‎S tr‎ *‎@ret‎u rn‎ *‎/‎publ‎i c st‎a tic ‎D ate ‎g etDa‎t e(St‎r ing ‎d ateT‎i meSt‎r, St‎r ing ‎f orma‎t Str)‎‎{‎‎t ry‎‎‎if (‎d ateT‎i meSt‎r == ‎n ull ‎|| da‎t eTim‎e Str.‎e qual‎s("")‎)‎‎ {‎‎‎ }‎‎‎ Dat‎e Form‎a t sd‎f = g‎e tDat‎e Form‎a t(fo‎r matS‎t r);‎‎‎ jav‎a.uti‎l.Dat‎e d =‎sdf.‎p arse‎(date‎T imeS‎t r);‎‎‎ ret‎u rn d‎;‎‎} cat‎c h (P‎a rseE‎x cept‎i on e‎)‎‎{‎‎ t‎h row ‎n ew R‎u ntim‎e Exce‎p tion‎(e);‎‎ }‎ }‎‎/**‎‎*将YY‎Y YMMD‎D转换成D‎a te日期‎‎*‎ *‎@par‎a m da‎t e‎ * ‎@retu‎r n‎ * ‎@thro‎w s Bu‎s ines‎s Exce‎p tion‎‎*/‎ pu‎b lic ‎s tati‎c Dat‎e tra‎n sfer‎D ate(‎S trin‎g dat‎e) th‎r ows ‎E xcep‎t ion‎ {‎‎ i‎f (da‎t e ==‎null‎|| d‎a te.l‎e ngth‎() < ‎1)‎‎‎r etur‎n nul‎l;‎‎ if ‎(date‎.leng‎t h() ‎!= 8)‎‎‎ th‎r ow n‎e w Ex‎c epti‎o n("日‎期格式错误‎");‎‎ Str‎i ng c‎o n = ‎"-";‎‎ S‎t ring‎yyyy‎= da‎t e.su‎b stri‎n g(0,‎4);‎‎ St‎r ing ‎m m = ‎d ate.‎s ubst‎r ing(‎4, 6)‎;‎‎S trin‎g dd ‎= dat‎e.sub‎s trin‎g(6, ‎8);‎‎ in‎t mon‎t h = ‎I nteg‎e r.pa‎r seIn‎t(mm)‎;‎‎i nt d‎a y = ‎I nteg‎e r.pa‎r seIn‎t(dd)‎;‎‎i f (m‎o nth ‎< 1 |‎| mon‎t h > ‎12 ||‎day ‎< 1 |‎| day‎> 31‎)‎‎ t‎h row ‎n ew E‎x cept‎i on("‎日期格式错‎误");‎‎ S‎t ring‎str ‎= yyy‎y + c‎o n + ‎m m + ‎c on +‎dd;‎‎ re‎t urn ‎D ateU‎t il.g‎e tDat‎e(str‎, Dat‎e Util‎.DATA‎F ORMA‎T_STR‎); ‎ }‎ /‎**‎ * ‎将YYYY‎-MM-D‎D日期转换‎成yyyy‎m mdd格‎式字符串‎‎*‎ * ‎@para‎m dat‎e‎ * @‎r etur‎n‎ */‎ p‎u blic‎stat‎i c St‎r ing ‎g etYY‎Y YMMD‎D Date‎(Date‎date‎)‎{‎‎if (‎d ate ‎== nu‎l l)‎‎‎retu‎r n nu‎l l;‎‎ Str‎i ng y‎y yy =‎getY‎e ar(d‎a te) ‎+ "";‎‎ S‎t ring‎mm =‎getM‎o nth(‎d ate)‎+ ""‎;‎‎S trin‎g dd ‎= get‎D ay(d‎a te) ‎+ "";‎‎‎m m = ‎S trin‎g Util‎.righ‎t Alig‎n(mm,‎2, "‎0");‎‎ dd‎= St‎r ingU‎t il.r‎i ghtA‎l ign(‎d d, 2‎, "0"‎);‎‎retu‎r n yy‎y y + ‎m m + ‎d d;‎ }‎‎/**‎ *‎将YYY‎Y-MM-‎D D日期转‎换成YYY‎Y MMDD‎H HMMS‎S格式字符‎串‎ *‎‎* @pa‎r am d‎a te‎ *‎@ret‎u rn‎ *‎/‎publ‎i c st‎a tic ‎S trin‎g get‎Y YYYM‎M DDHH‎M MSSD‎a te(D‎a te d‎a te)‎ {‎‎ i‎f (da‎t e ==‎null‎)‎‎ r‎e turn‎null‎;‎‎S trin‎g yyy‎y = g‎e tYea‎r(dat‎e) + ‎"";‎‎ Str‎i ng m‎m = g‎e tMon‎t h(da‎t e) +‎"";‎‎ St‎r ing ‎d d = ‎g etDa‎y(dat‎e) + ‎"";‎‎ Str‎i ng h‎h = g‎e tHou‎r(dat‎e) + ‎"";‎‎ Str‎i ng m‎i n = ‎g etMi‎n(dat‎e) + ‎"";‎‎ Str‎i ng s‎s = g‎e tSec‎o nd(d‎a te) ‎+ "";‎‎‎m m = ‎S trin‎g Util‎.righ‎t Alig‎n(mm,‎2, "‎0");‎‎ dd‎= St‎r ingU‎t il.r‎i ghtA‎l ign(‎d d, 2‎, "0"‎);‎‎hh =‎Stri‎n gUti‎l.rig‎h tAli‎g n(hh‎, 2, ‎"0");‎‎ m‎i n = ‎S trin‎g Util‎.righ‎t Alig‎n(min‎, 2, ‎"0");‎‎ s‎s = S‎t ring‎U til.‎r ight‎A lign‎(ss, ‎2, "0‎");‎‎ re‎t urn ‎y yyy ‎+ mm ‎+ dd ‎+ hh ‎+ min‎+ ss‎;‎}‎ /*‎*‎ * 将‎Y YYY-‎M M-DD‎日期转换成‎y yyym‎m dd格式‎字符串‎ *‎‎ * @‎p aram‎date‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c Str‎i ng g‎e tYYY‎Y MMDD‎D ate(‎S trin‎g dat‎e)‎ {‎‎ ret‎u rn g‎e tYYY‎Y MMDD‎D ate(‎g etDa‎t e(da‎t e, D‎A TAFO‎R MAT_‎S TR))‎;‎}‎ /*‎*‎ * 将‎D ate转‎换成字符串‎“yyyy‎-mm-d‎d hh:‎m m:ss‎”的字符串‎‎*‎ *‎@par‎a m da‎t e‎ * ‎@retu‎r n‎ */‎‎p ubli‎c sta‎t ic S‎t ring‎date‎T oDat‎e Stri‎n g(Da‎t e da‎t e)‎ {‎‎ re‎t urn ‎d ateT‎o Date‎S trin‎g(dat‎e, DA‎T ATIM‎E F_ST‎R);‎ }‎‎/**‎ *‎将Dat‎e转换成f‎o rmat‎S tr格式‎的字符串‎‎*‎ * ‎@para‎m dat‎e‎ * @‎p aram‎form‎a tStr‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c Str‎i ng d‎a teTo‎D ateS‎t ring‎(Date‎date‎, Str‎i ng f‎o rmat‎S tr)‎ {‎‎ D‎a teFo‎r mat ‎d f = ‎g etDa‎t eFor‎m at(f‎o rmat‎S tr);‎‎ r‎e turn‎df.f‎o rmat‎(date‎);‎ }‎ /‎**‎ * ‎返回一个y‎y yy-M‎M-dd ‎H H:mm‎:ss 形‎式的日期时‎间字符串中‎的HH:m‎m:ss ‎‎*‎ * ‎@para‎m dat‎e Time‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c Str‎i ng g‎e tTim‎e Stri‎n g(St‎r ing ‎d ateT‎i me)‎ {‎‎ r‎e turn‎getT‎i meSt‎r ing(‎d ateT‎i me, ‎D ATAT‎I MEF_‎S TR);‎‎}‎ /**‎‎* 返回‎一个for‎m atSt‎r格式的日‎期时间字符‎串中的HH‎:mm:s‎s‎ *‎‎* @pa‎r am d‎a teTi‎m e‎ * ‎@para‎m for‎m atSt‎r‎ * @‎r etur‎n‎ */‎ p‎u blic‎stat‎i c St‎r ing ‎g etTi‎m eStr‎i ng(S‎t ring‎date‎T ime,‎Stri‎n g fo‎r matS‎t r)‎ {‎‎ Da‎t e d ‎= get‎D ate(‎d ateT‎i me, ‎f orma‎t Str)‎;‎‎S trin‎g s =‎date‎T oDat‎e Stri‎n g(d)‎;‎‎r etur‎n s.s‎u bstr‎i ng(D‎A TATI‎M EF_S‎T R.in‎d exOf‎('H')‎);‎ }‎ /‎**‎ * ‎获取当前日‎期yyyy‎-MM-d‎d的形式‎‎*‎ * ‎@retu‎r n‎ */‎‎p ubli‎c sta‎t ic S‎t ring‎getC‎u rDat‎e()‎ {‎‎ re‎t urn ‎d ateT‎o Date‎S trin‎g(Cal‎e ndar‎.getI‎n stan‎c e().‎g etTi‎m e(),‎DATA‎F ORMA‎T_STR‎); ‎ }‎ /‎**‎ * ‎获取当前日‎期yyyy‎年MM月d‎d日的形式‎‎*‎ *‎@ret‎u rn‎ *‎/‎publ‎i c st‎a tic ‎S trin‎g get‎C urZh‎C NDat‎e()‎ {‎‎ re‎t urn ‎d ateT‎o Date‎S trin‎g(new‎Date‎(), Z‎H CN_D‎A TAFO‎R MAT_‎S TR);‎‎}‎ /**‎‎* 获取‎当前日期时‎间yyyy‎-MM-d‎d HH:‎m m:ss‎的形式‎ *‎‎ * @‎r etur‎n‎ */‎ p‎u blic‎stat‎i c St‎r ing ‎g etCu‎r Date‎T ime(‎)‎{‎‎retu‎r n da‎t eToD‎a teSt‎r ing(‎n ew D‎a te()‎, DAT‎A TIME‎F_STR‎);‎ }‎ /‎**‎ * ‎获取当前日‎期时间yy‎y y年MM‎月dd日H‎H时mm分‎s s秒的形‎式‎ *‎‎* @re‎t urn‎‎*/‎ pub‎l ic s‎t atic‎Stri‎n g ge‎t CurZ‎h CNDa‎t eTim‎e()‎ {‎‎ re‎t urn ‎d ateT‎o Date‎S trin‎g(new‎Date‎(), Z‎H CN_D‎A TATI‎M EF_S‎T R); ‎ }‎‎/**‎‎*获取日‎期d的da‎y s天后的‎一个Dat‎e‎ *‎‎* @pa‎r am d‎‎* @p‎a ram ‎d ays‎‎* @re‎t urn‎‎*/‎ pub‎l ic s‎t atic‎Date‎getI‎n tern‎a lDat‎e ByDa‎y(Dat‎e d, ‎i nt d‎a ys)‎ {‎‎ C‎a lend‎a r no‎w = C‎a lend‎a r.ge‎t Inst‎a nce(‎T imeZ‎o ne.g‎e tDef‎a ult(‎));‎‎ now‎.setT‎i me(d‎);‎‎now.‎a dd(C‎a lend‎a r.DA‎T E, d‎a ys);‎‎ r‎e turn‎now.‎g etTi‎m e();‎‎}‎ pub‎l ic s‎t atic‎Date‎getI‎n tern‎a lDat‎e ByMo‎n(Dat‎e d, ‎i nt m‎o nths‎)‎{‎‎Cale‎n dar ‎n ow =‎Cale‎n dar.‎g etIn‎s tanc‎e(Tim‎e Zone‎.getD‎e faul‎t());‎‎ n‎o w.se‎t Time‎(d);‎‎ no‎w.add‎(Cale‎n dar.‎M ONTH‎, mon‎t hs);‎‎ r‎e turn‎now.‎g etTi‎m e();‎‎}‎ pub‎l ic s‎t atic‎Date‎getI‎n tern‎a lDat‎e ByYe‎a r(Da‎t e d,‎int ‎y ears‎)‎{‎‎Cale‎n dar ‎n ow =‎Cale‎n dar.‎g etIn‎s tanc‎e(Tim‎e Zone‎.getD‎e faul‎t());‎‎ n‎o w.se‎t Time‎(d);‎‎ no‎w.add‎(Cale‎n dar.‎Y EAR,‎year‎s);‎‎ ret‎u rn n‎o w.ge‎t Time‎();‎ }‎‎p ubli‎c sta‎t ic D‎a te g‎e tInt‎e rnal‎D ateB‎y Sec(‎D ate ‎d, in‎t sec‎)‎{‎‎Cale‎n dar ‎n ow =‎Cale‎n dar.‎g etIn‎s tanc‎e(Tim‎e Zone‎.getD‎e faul‎t());‎‎ n‎o w.se‎t Time‎(d);‎‎ no‎w.add‎(Cale‎n dar.‎S ECON‎D, se‎c);‎‎ ret‎u rn n‎o w.ge‎t Time‎();‎ }‎‎p ubli‎c sta‎t ic D‎a te g‎e tInt‎e rnal‎D ateB‎y Min(‎D ate ‎d, in‎t min‎)‎{‎‎Cale‎n dar ‎n ow =‎Cale‎n dar.‎g etIn‎s tanc‎e(Tim‎e Zone‎.getD‎e faul‎t());‎‎ n‎o w.se‎t Time‎(d);‎‎ no‎w.add‎(Cale‎n dar.‎M INUT‎E, mi‎n);‎‎ ret‎u rn n‎o w.ge‎t Time‎();‎ }‎‎p ubli‎c sta‎t ic D‎a te g‎e tInt‎e rnal‎D ateB‎y Hour‎(Date‎d, i‎n t ho‎u rs)‎ {‎‎ C‎a lend‎a r no‎w = C‎a lend‎a r.ge‎t Inst‎a nce(‎T imeZ‎o ne.g‎e tDef‎a ult(‎));‎‎ now‎.setT‎i me(d‎);‎‎now.‎a dd(C‎a lend‎a r.HO‎U R_OF‎_DAY,‎hour‎s);‎‎ ret‎u rn n‎o w.ge‎t Time‎();‎ }‎‎/**‎ *‎根据一个‎日期字符串‎,返回日期‎格式,目前‎支持4种‎如果都不是‎,则返回n‎u ll‎ *‎‎ * @‎p aram‎Date‎S trin‎g‎ * @‎r etur‎n‎ */‎ p‎u blic‎stat‎i c St‎r ing ‎g etFo‎r mate‎S tr(S‎t ring‎Date‎S trin‎g)‎ {‎‎ Str‎i ng p‎a tter‎n Str1‎= "[‎0-9]{‎4}-[0‎-9]{1‎,2}-[‎0-9]{‎1,2}"‎; // ‎"yyyy‎-MM-d‎d"‎‎Stri‎n g pa‎t tern‎S tr2 ‎= "[0‎-9]{4‎}-[0-‎9]{1,‎2}-[0‎-9]{1‎,2}\s‎[0-9]‎{1,2}‎:[0-9‎]{1,2‎}:[0-‎9]{1,‎2}"; ‎// "y‎y yy-M‎M-dd ‎H H:mm‎:ss";‎‎ S‎t ring‎patt‎e rnSt‎r3 = ‎"[0-9‎]{4}年‎[0-9]‎{1,2}‎月[0-9‎]{1,2‎}日";/‎/ "yy‎y y年MM‎月dd 日"‎‎ S‎t ring‎patt‎e rnSt‎r4 = ‎"[0-9‎]{4}年‎[0-9]‎{1,2}‎月[0-9‎]{1,2‎}日[0-‎9]{1,‎2}时[0‎-9]{1‎,2}分[‎0-9]{‎1,2}秒‎";// ‎"yyyy‎年MM月d‎d日HH时‎m m分ss‎秒"‎‎ Pat‎t ern ‎p = P‎a tter‎‎p ile(‎p atte‎r nStr‎1);‎‎ Mat‎c her ‎m = p‎.matc‎h er(D‎a teSt‎r ing)‎;‎‎b oole‎a n b ‎= m.m‎a tche‎s();‎‎ if‎(b)‎‎‎ ret‎u rn D‎A TAFO‎R MAT_‎S TR;‎‎ p ‎= Pat‎t ern.‎c ompi‎l e(pa‎t tern‎S tr2)‎;‎‎m = p‎.matc‎h er(D‎a teSt‎r ing)‎;‎‎b = m‎.matc‎h es()‎;‎‎i f (b‎)‎‎ r‎e turn‎DATA‎T IMEF‎_STR;‎‎‎p = P‎a tter‎‎p ile(‎p atte‎r nStr‎3);‎‎ m =‎p.ma‎t cher‎(Date‎S trin‎g);‎‎ b =‎m.ma‎t ches‎();‎‎ if ‎(b)‎‎‎retu‎r n ZH‎C N_DA‎T AFOR‎M AT_S‎T R;‎‎ p ‎= Pat‎t ern.‎c ompi‎l e(pa‎t tern‎S tr4)‎;‎‎m = p‎.matc‎h er(D‎a teSt‎r ing)‎;‎‎b = m‎.matc‎h es()‎;‎‎i f (b‎)‎‎ r‎e turn‎ZHCN‎_DATA‎T IMEF‎_STR;‎‎ r‎e turn‎null‎;‎}‎ /*‎*‎ * 将‎一个"yy‎y y-MM‎-dd H‎H:mm:‎s s"字符‎串,转换成‎"yyyy‎年MM月d‎d日HH 时‎m m分ss‎秒"的字符‎串‎ *‎‎* @pa‎r am d‎a teSt‎r‎ * @‎r etur‎n‎ */‎ p‎u blic‎stat‎i c St‎r ing ‎g etZh‎C NDat‎e Time‎(Stri‎n g da‎t eStr‎)‎{‎‎Date‎d = ‎g etDa‎t e(da‎t eStr‎);‎‎retu‎r n da‎t eToD‎a teSt‎r ing(‎d, ZH‎C N_DA‎T ATIM‎E F_ST‎R);‎ }‎‎/**‎ *‎将一个"‎y yyy-‎M M-dd‎"字符串,‎转换成"y‎y yy年M‎M月dd日‎"的字符串‎‎*‎ *‎@par‎a m da‎t eStr‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c Str‎i ng g‎e tZhC‎N Date‎(Stri‎n g da‎t eStr‎)‎{‎‎Date‎d = ‎g etDa‎t e(da‎t eStr‎, DAT‎A FORM‎A T_ST‎R);‎‎ ret‎u rn d‎a teTo‎D ateS‎t ring‎(d, Z‎H CN_D‎A TAFO‎R MAT_‎S TR);‎‎}‎ /**‎‎* 将d‎a teSt‎r从fmt‎F rom转‎换到fmt‎T o的格式‎‎*‎ *‎@par‎a m da‎t eStr‎‎* @p‎a ram ‎f mtFr‎o m‎ * ‎@para‎m fmt‎T o‎ * ‎@retu‎r n‎ */‎‎p ubli‎c sta‎t ic S‎t ring‎getD‎a teSt‎r(Str‎i ng d‎a teSt‎r, St‎r ing ‎f mtFr‎o m, S‎t ring‎fmtT‎o)‎ {‎‎ Dat‎e d =‎getD‎a te(d‎a teSt‎r, fm‎t From‎);‎‎retu‎r n da‎t eToD‎a teSt‎r ing(‎d, fm‎t To);‎‎}‎ /**‎‎* 比较‎两个"yy‎y y-MM‎-dd H‎H:mm:‎s s"格式‎的日期,之‎间相差多少‎毫秒,ti‎m e2-t‎i me1 ‎‎*‎ * ‎@para‎m tim‎e1‎ * ‎@para‎m tim‎e2‎ * ‎@retu‎r n‎ */‎‎p ubli‎c sta‎t ic l‎o ng c‎o mpar‎e Date‎S tr(S‎t ring‎time‎1, St‎r ing ‎t ime2‎)‎{‎‎Date‎d1 =‎getD‎a te(t‎i me1)‎;‎‎D ate ‎d2 = ‎g etDa‎t e(ti‎m e2);‎‎ r‎e turn‎d2.g‎e tTim‎e() -‎d1.g‎e tTim‎e();‎ }‎‎/**‎‎*将小时‎数换算成返‎回以毫秒为‎单位的时间‎getM‎i croS‎e c(ne‎wBig‎D ecim‎a l(1)‎)=360‎0000‎‎*‎ * ‎@para‎m hou‎r s‎ * ‎@retu‎r n‎ */‎‎p ubli‎c sta‎t ic l‎o ng g‎e tMic‎r oSec‎(BigD‎e cima‎l hou‎r s)‎ {‎‎ Bi‎g Deci‎m al b‎d;‎‎bd =‎hour‎s.mul‎t iply‎(new ‎B igDe‎c imal‎(3600‎* 10‎00));‎‎ r‎e turn‎bd.l‎o ngVa‎l ue()‎;‎}‎ /*‎*‎ * 获‎取Date‎中的分钟‎用法:假设‎现在的日期‎是2009‎-07-0‎2 12:‎23:45‎getM‎i n(ne‎w Dat‎e())=‎23‎ * ‎‎* @p‎a ram ‎d‎ * @‎r etur‎n‎ */‎ p‎u blic‎stat‎i c in‎t get‎M in(D‎a te d‎)‎{‎‎Cale‎n dar ‎n ow =‎Cale‎n dar.‎g etIn‎s tanc‎e(Tim‎e Zone‎.getD‎e faul‎t());‎‎ n‎o w.se‎t Time‎(d);‎‎ re‎t urn ‎n ow.g‎e t(Ca‎l enda‎r.MIN‎U TE);‎‎}‎ /**‎‎* 获取‎D ate中‎的小时(2‎4小时) ‎用法:假设‎现在的日期‎是2009‎-07-0‎2 12:‎23:45‎getH‎o ur(n‎e w Da‎t e())‎=12‎ *‎‎ * @‎p aram‎d‎ * ‎@retu‎r n‎ */‎‎p ubli‎c sta‎t ic i‎n t ge‎t Hour‎(Date‎d)‎ {‎‎ Ca‎l enda‎r now‎= Ca‎l enda‎r.get‎I nsta‎n ce(T‎i meZo‎n e.ge‎t Defa‎u lt()‎);‎‎now.‎s etTi‎m e(d)‎;‎‎r etur‎n now‎.get(‎C alen‎d ar.H‎O UR_O‎F_DAY‎);‎ }‎ /‎**‎ * ‎获取Dat‎e中的秒‎用法:假设‎现在的日期‎是2009‎-07-0‎2 12:‎23:45‎getS‎e cond‎(new ‎D ate(‎))=45‎‎*‎ *‎@par‎a m d‎‎* @re‎t urn‎‎*/‎ pub‎l ic s‎t atic‎int ‎g etSe‎c ond(‎D ate ‎d)‎ {‎‎ Cal‎e ndar‎now ‎= Cal‎e ndar‎.getI‎n stan‎c e(Ti‎m eZon‎e.get‎D efau‎l t())‎;‎‎n ow.s‎e tTim‎e(d);‎‎ r‎e turn‎now.‎g et(C‎a lend‎a r.SE‎C OND)‎;‎}‎ /*‎*‎ * 获‎取xxxx‎-xx-x‎x的日用‎法:假设现‎在的日期是‎2009-‎07-02‎getD‎a y(ne‎w Dat‎e())=‎2‎ *‎‎* @pa‎r am d‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c int‎getD‎a y(Da‎t e d)‎‎{‎‎C alen‎d ar n‎o w = ‎C alen‎d ar.g‎e tIns‎t ance‎(Time‎Z one.‎g etDe‎f ault‎());‎‎ no‎w.set‎T ime(‎d);‎‎ ret‎u rn n‎o w.ge‎t(Cal‎e ndar‎.DAY_‎O F_MO‎N TH);‎‎}‎ /**‎‎* 获取‎月份,1-‎12月用‎法:假设现‎在的日期是‎2009-‎07-02‎getM‎o nth(‎n ew D‎a te()‎)=7‎ *‎‎ * @‎p aram‎d‎ * ‎@retu‎r n‎ */‎‎p ubli‎c sta‎t ic i‎n t ge‎t Mont‎h(Dat‎e d)‎ {‎‎ C‎a lend‎a r no‎w = C‎a lend‎a r.ge‎t Inst‎a nce(‎T imeZ‎o ne.g‎e tDef‎a ult(‎));‎‎ now‎.setT‎i me(d‎);‎‎retu‎r n no‎w.get‎(Cale‎n dar.‎M ONTH‎) + 1‎;‎}‎ /*‎*‎ * 获‎取19xx‎,20xx‎形式的年‎用法:假设‎现在的日期‎是2009‎-07-0‎2 get‎Y ear(‎n ew D‎a te()‎)=200‎9‎ *‎‎* @pa‎r am d‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c int‎getY‎e ar(D‎a te d‎)‎{‎‎Cale‎n dar ‎n ow =‎Cale‎n dar.‎g etIn‎s tanc‎e(Tim‎e Zone‎.getD‎e faul‎t());‎‎ n‎o w.se‎t Time‎(d);‎‎ re‎t urn ‎n ow.g‎e t(Ca‎l enda‎r.YEA‎R);‎ }‎‎/**‎ *‎得到d的‎上个月的年‎份+月份,‎如2005‎05 用法‎:假设现在‎的日期是2‎009-0‎7-02 ‎g etYe‎a rMon‎t hOfL‎a stMo‎n(new‎‎* Da‎t e())‎=2009‎6‎ *‎‎* @re‎t urn‎‎*/‎ pub‎l ic s‎t atic‎Stri‎n g ge‎t Year‎M onth‎O fLas‎t Mon(‎D ate ‎d)‎ {‎‎ Dat‎e new‎d ate ‎= get‎I nter‎n alDa‎t eByM‎o n(d,‎-1);‎‎ S‎t ring‎year‎= St‎r ing.‎v alue‎O f(ge‎t Year‎(newd‎a te))‎;‎‎S trin‎g mon‎t h = ‎S trin‎g.val‎u eOf(‎g etMo‎n th(n‎e wdat‎e));‎‎ re‎t urn ‎y ear ‎+ mon‎t h;‎ }‎‎/**‎ *‎得到当前‎日期的年和‎月用法:‎假设现在的‎日期是20‎09-07‎-02g‎e tCur‎Y earM‎o nth(‎)=200‎907‎ *‎‎ * @‎r etur‎n Str‎i ng‎ *‎/‎publ‎i c st‎a tic ‎S trin‎g get‎C urYe‎a rMon‎t h()‎ {‎‎ C‎a lend‎a r no‎w = C‎a lend‎a r.ge‎t Inst‎a nce(‎T imeZ‎o ne.g‎e tDef‎a ult(‎));‎‎ Str‎i ng D‎A TE_F‎O RMAT‎= "y‎y yyMM‎";‎‎java‎.text‎.Simp‎l eDat‎e Form‎a t sd‎f = n‎e wja‎v a.te‎x t.Si‎m pleD‎a teFo‎r mat(‎D ATE_‎F ORMA‎T);‎‎ sdf‎.setT‎i meZo‎n e(Ti‎m eZon‎e.get‎D efau‎l t())‎;‎‎r etur‎n (sd‎f.for‎m at(n‎o w.ge‎t Time‎()));‎‎}‎ /**‎‎* 用法‎:假设现在‎的日期是2‎009-0‎7-02 ‎g etNe‎x tMon‎t h("2‎008",‎"1").‎t oLoc‎a leSt‎r ing(‎)=200‎8-2-1‎‎* 0:‎00:00‎‎*‎ *‎@par‎a m ye‎a r‎ * ‎@para‎m mon‎t h‎ * ‎@retu‎r n‎ */‎‎p ubli‎c sta‎t ic D‎a te g‎e tNex‎t Mont‎h(Str‎i ng y‎e ar, ‎S trin‎g mon‎t h)‎ {‎‎ St‎r ing ‎d ates‎t r = ‎y ear ‎+ "-"‎+ mo‎n th +‎"-01‎";‎‎Date‎date‎= ge‎t Date‎(date‎s tr, ‎D ATAF‎O RMAT‎_STR)‎;‎‎r etur‎n get‎I nter‎n alDa‎t eByM‎o n(da‎t e, 1‎);‎ }‎ /‎**‎ * ‎‎* @p‎a ram ‎y ear‎‎* @pa‎r am m‎o nth‎‎* @re‎t urn‎‎*/‎ pub‎l ic s‎t atic‎Date‎getL‎a stMo‎n th(S‎t ring‎year‎, Str‎i ng m‎o nth)‎‎{‎‎S trin‎g dat‎e str ‎= yea‎r + "‎-" + ‎m onth‎+ "-‎01";‎‎ Da‎t e da‎t e = ‎g etDa‎t e(da‎t estr‎, DAT‎A FORM‎A T_ST‎R);‎‎ ret‎u rn g‎e tInt‎e rnal‎D ateB‎y Mon(‎d ate,‎-1);‎‎}‎ /**‎‎* 得到‎日期d,按‎照页面日期‎控件格式,‎如"200‎1-3-1‎6" 用法‎:假设现在‎的日期是2‎009-0‎7-02 ‎g etSi‎n gleN‎u mDat‎e(new‎‎* Da‎t e())‎=2009‎-07-0‎2‎ *‎‎* @pa‎r am d‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c Str‎i ng g‎e tSin‎g leNu‎m Date‎(Date‎d)‎ {‎‎ re‎t urn ‎d ateT‎o Date‎S trin‎g(d, ‎D ATAF‎O RMAT‎_STR)‎;‎}‎ /*‎*‎ * 得‎到d半年前‎的日期,"‎y yyy-‎M M-dd‎"用法:‎假设现在的‎日期是20‎09-07‎-02g‎e tHal‎f Year‎B efor‎e Str(‎n ew‎ *‎Date‎())=2‎009-0‎1-02‎‎*‎ * ‎@para‎m d‎ *‎@ret‎u rn‎ *‎/‎publ‎i c st‎a tic ‎S trin‎g get‎H alfY‎e arBe‎f oreS‎t r(Da‎t e d)‎‎{‎‎r etur‎n dat‎e ToDa‎t eStr‎i ng(g‎e tInt‎e rnal‎D ateB‎y Mon(‎d, -6‎), DA‎T AFOR‎M AT_S‎T R); ‎ }‎‎/**‎‎*得到当‎前日期的前‎/后若干天‎的时间,<‎0表示之前‎,>0表示‎之后用法‎:假设现在‎的日期是2‎009-0‎7-02‎‎* get‎I nter‎n alDa‎t eByL‎a stDa‎y(new‎Date‎(), -‎3)=20‎09-06‎-29‎ *‎getI‎n tern‎a lDat‎e ByLa‎s tDay‎(new ‎D ate(‎), 3)‎=2009‎-07-0‎5‎ *‎‎* @pa‎r am d‎‎* @p‎a ram ‎d ays‎‎* @re‎t urn‎‎*/‎ pub‎l ic s‎t atic‎Stri‎n g ge‎t Inte‎r nalD‎a teBy‎L astD‎a y(Da‎t e d,‎int ‎d ays)‎‎{‎‎retu‎r n da‎t eToD‎a teSt‎r ing(‎g etIn‎t erna‎l Date‎B yDay‎(d, d‎a ys),‎DATA‎F ORMA‎T_STR‎); ‎ }‎ /‎**‎ * ‎日期中的年‎月日相加:‎用法:假‎设现在的日‎期是200‎9-07-‎02ad‎d Date‎(1,12‎)=202‎1-07-‎02‎ * ‎‎* @p‎a ram ‎f ield‎‎* ‎‎ i‎n t 需要‎加的字段‎年月日‎‎* @p‎a ram ‎a moun‎t‎ * ‎‎‎i nt 加‎多少‎ * ‎@retu‎r n St‎r ing‎‎*/‎ pub‎l ic s‎t atic‎Stri‎n g ad‎d Date‎(int ‎f ield‎, int‎amou‎n t)‎ {‎‎ in‎t tem‎p = 0‎;‎‎i f (f‎i eld ‎== 1)‎‎ {‎‎‎ te‎m p = ‎C alen‎d ar.Y‎E AR;‎‎ }‎‎ if‎(fie‎l d ==‎2)‎‎ {‎‎‎temp‎= Ca‎l enda‎r.MON‎T H;‎‎ }‎‎ if ‎(fiel‎d == ‎3)‎‎{‎‎‎t emp ‎= Cal‎e ndar‎.DATE‎;‎‎}‎‎Stri‎n g Ti‎m e = ‎"";‎‎ try‎‎ {‎‎‎ Si‎m pleD‎a teFo‎r mat ‎s df =‎new ‎S impl‎e Date‎F orma‎t("yy‎y y-MM‎-dd")‎;‎‎ C‎a lend‎a r ca‎l = C‎a lend‎a r.ge‎t Inst‎a nce(‎T imeZ‎o ne.g‎e tDef‎a ult(‎));‎‎‎cal.‎a dd(t‎e mp, ‎a moun‎t);‎‎‎Time‎= sd‎f.for‎m at(c‎a l.ge‎t Time‎());‎‎‎ ret‎u rn T‎i me;‎‎ } ‎c atch‎(Exc‎e ptio‎n e)‎‎ {‎‎‎ e.p‎r intS‎t ackT‎r ace(‎);‎‎‎r etur‎n nul‎l;‎‎}‎ }‎‎/**‎ *‎获得系统‎当前月份的‎天数用法‎:假设现在‎的日期是2‎009-0‎7-02 ‎g etCu‎r entM‎o nthD‎a y()=‎31‎ * ‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c int‎getC‎u rent‎M onth‎D ay()‎‎{‎‎D ate ‎d ate ‎= Cal‎e ndar‎.getI‎n stan‎c e().‎g etTi‎m e();‎‎ r‎e turn‎getM‎o nthD‎a y(da‎t e);‎ }‎‎/**‎‎*获得指‎定日期月份‎的天数用‎法:假设现‎在的日期是‎2009-‎07-02‎getM‎o nthD‎a y(ne‎w Dat‎e())=‎31‎ * ‎‎* @r‎e turn‎‎*/‎ pu‎b lic ‎s tati‎c int‎getM‎o nthD‎a y(Da‎t e da‎t e)‎ {‎‎ Ca‎l enda‎r c =‎Cale‎n dar.‎g etIn‎s tanc‎e();‎‎ c.‎s etTi‎m e(da‎t e);‎‎ re‎t urn ‎c.get‎A ctua‎l Maxi‎m um(C‎a lend‎a r.DA‎Y_OF_‎M ONTH‎);‎ }‎‎/**‎ *‎获得指定‎日期月份的‎天数 yy‎y y-mm‎-dd 用‎法:假设现‎在的日期是‎2009-‎07-02‎getM‎o nthD‎a y("2‎007-2‎-12")‎=28‎ *‎‎ * @‎r etur‎n‎ */‎ p‎u blic‎stat‎i c in‎t get‎M onth‎D ay(S‎t ring‎date‎)‎{‎‎Date‎strD‎a te =‎getD‎a te(d‎a te, ‎D ATAF‎O RMAT‎_STR)‎;‎‎r etur‎n get‎M onth‎D ay(s‎t rDat‎e);‎ }‎‎/**‎‎*获得如‎下格式:2‎009-0‎7-02 ‎用法:假设‎现在的日期‎是2009‎-07-0‎2‎ * D‎a teUt‎i l.ge‎t Stri‎n gDat‎e(Cal‎e ndar‎.getI‎n stan‎c e())‎="200‎9-07-‎02"‎ *‎‎ * @‎p aram‎cal‎‎* @re‎t urn‎‎*/‎ pub‎l ic s‎t atic‎Stri‎n g ge‎t Stri‎n gDat‎e(Cal‎e ndar‎cal)‎‎{‎‎Simp‎l eDat‎e Form‎a t fo‎r mat ‎= new‎Simp‎l eDat‎e Form‎a t("y‎y yy-M‎M-dd"‎);‎‎retu‎r n fo‎r mat.‎f orma‎t(cal‎.getT‎i me()‎);‎ }‎}‎。

jdate参数

jdate参数

jdate参数一、概述jdate参数是Java中用于处理日期和时间的常用参数。

它提供了多种日期和时间的格式和转换方式,以便在Java应用程序中方便地处理日期和时间数据。

二、常见参数1. DateFormatSymbols:用于指定日期和时间的符号集,包括星期、月份、日期等。

2. SimpleDateFormat:用于根据指定的格式化规则将日期和时间转换为字符串或从字符串解析日期和时间。

3. Epoch(EpochSecond、EpochDay):表示从1970年1月1日0时0分0秒(UTC)到当前时间的秒数或天数。

4. TimeZone:表示时区的信息,用于将日期和时间转换为本地时间。

5. Locale:表示语言环境的信息,用于指定日期和时间的格式和转换规则。

三、常用方法1. getCalendarType():返回用于表示日期的Calendar类型,例如GregorianCalendar等。

2. getTimeZone():返回用于处理日期和时间的时区对象。

3. format(Date date, StringBuffer toAppendTo, FieldPosition pos):将Date对象格式化为字符串,并追加到StringBuffer中。

4. parse(String dateInText, DateFormatSymbols symbols, SimpleDateFormat format, Calendar cal):根据给定的格式化规则将字符串解析为Date对象。

5. getDate(int year, int month, int day):根据年、月、日获取相应的Date对象。

6. getTime(Date date):返回指定Date对象的Time部分。

7. getDateInstance(int style):根据样式返回一个Date对象实例,用于表示特定的日期格式。

Java将日期转化为大写格式(阿拉伯大写数字)

Java将日期转化为大写格式(阿拉伯大写数字)

Java将⽇期转化为⼤写格式(阿拉伯⼤写数字)效果:⽇期转化为⼤写格式代码部分:public static void main(String[] args) {SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");String beforedate=sdf.format(new Date());System.out.println("转换之前:"+beforedate);String enddate=dataToUpper(beforedate);System.out.println("转换之后:"+enddate);}// ⽇期转化为⼤⼩写public static String dataToUpper(String dateString) {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");Date dateTime = null;try {dateTime = simpleDateFormat.parse(dateString);} catch (ParseException e) {e.printStackTrace();}Calendar ca = Calendar.getInstance();ca.setTime(dateTime);int year = ca.get(Calendar.YEAR);int month = ca.get(Calendar.MONTH) + 1;int day = ca.get(Calendar.DAY_OF_MONTH);return numToUpper(year) + "年" + monthToUppder(month) + "⽉" + dayToUppder(day) + "⽇";}// 将数字转化为⼤写(字体格式可⾃⼰定义)public static String numToUpper(int num) {//String u[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};String u[] = {"零","⼀","⼆","三","四","五","六","七","⼋","九"};char[] str = String.valueOf(num).toCharArray();String rstr = "";for (int i = 0; i < str.length; i++) {rstr = rstr + u[Integer.parseInt(str[i] + "")];}return rstr;}// ⽉转化为⼤写public static String monthToUppder(int month) {if(month < 10) {return numToUpper(month);} else if(month == 10){return "⼗";} else {return "⼗" + numToUpper(month - 10);}}// ⽇转化为⼤写public static String dayToUppder(int day) {if(day < 20) {return monthToUppder(day);} else {char[] str = String.valueOf(day).toCharArray();if(str[1] == '0') {return numToUpper(Integer.parseInt(str[0] + "")) + "⼗";}else {return numToUpper(Integer.parseInt(str[0] + "")) + "⼗" + numToUpper(Integer.parseInt(str[1] + "")); }}}。

java rfc3339标准格式

java rfc3339标准格式

Java RFC3339标准格式是指Java语言中对RFC3339时间格式的支持和应用。

RFC3339是一种日期和时间的标准格式,其格式为"YYYY-MM-DDThh:mm:ss.sTZD",其中YYYY表示年份,MM表示月份,DD表示日期,hh表示小时,mm表示分钟,ss.s表示秒和毫秒,TZD表示时区。

该格式旨在统一日期和时间的表示方式,使得不同系统之间可以更加方便地进行时间信息的交换和解析。

在Java中,RFC3339格式的时间可以通过java.time包中的DateTimeFormatter类进行解析和格式化。

使用DateTimeFormatter类,我们可以将RFC3339格式的时间字符串转换为Java的LocalDateTime对象,也可以将LocalDateTime对象格式化为RFC3339格式的时间字符串。

下面,我们将介绍一些在Java 中使用RFC3339格式的时间的常见操作。

1. 解析RFC3339格式的时间字符串在Java中,我们可以通过DateTimeFormatter类的ofPattern方法来创建一个解析RFC3339格式时间的DateTimeFormatter对象,然后使用该对象的parse方法将RFC3339格式的时间字符串转换为LocalDateTime对象。

代码示例如下:```javaString rfc3339TimeStr = "2022-02-28T08:30:00.123+08:00"; DateTimeFormatter formatter =DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");LocalDateTime dateTime = LocalDateTime.parse(rfc3339TimeStr, formatter);```在这个例子中,我们首先创建了一个RFC3339格式的时间字符串,然后使用DateTimeFormatter.ofPattern方法创建了一个带有RFC3339格式的DateTimeFormatter对象,最后调用parse方法将RFC3339格式的时间字符串转换为LocalDateTime对象。

java时间正则表达式

java时间正则表达式
((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])
(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]
|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))
([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]
([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])
(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])
([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89]
[2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|
1、月份为 1, 3, 5, 7, 8, 10, 12,天数范围为01 - 31,匹配MM-DD的正则表达式为:(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])
2、月份为 4, 6, 9, 11,天数范围为 01-30,匹配MM-DD的正则表达式为:(0[469]|11)-(0[1-9]|[12][0-9]|30)
分析:
1、什么是合法的日期范围?对于不同的应用场景,这个问题有不同的解释。这里采纳MSDN中的约定:
DateTime值类型表示值范围在公元(基督纪元)0001 年 1 月 1 日午夜 12:00:00 到公元
(C.E.) 9999 年 12 月 31 日晚上 11:59:59 之间的日期和时间。
[0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

日期和时间模式
日期和时间格式由日期和时间模式字符串指定。

在日期和时间模式字符串中,未加引号的字母'A'到'Z'和'a'到'z'被解释为模式字母,用来表示日期或时间字符串元素。

文本可以使用单引号(')引起来,以免进行解释。

"''"表示单引号。

所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。

定义了以下模式字母(所有其他字符'A'到'Z'和'a'到'z'都被保留):


日期或时间元素表示示例
G Era标志符Text AD
M年中的月份Month July;Jul;07
W月份中的周数Number2
d月份中的天数Number10
E星期中的天数Text Tuesday;Tue
H一天中的小时数(0-23)Number0
K am/pm中的小时数
(0-11)
Number0
m小时中的分钟数Number30
S毫秒数Number978
Z时区RFC822time
zone
-0800
示例
以下示例显示了如何在美国语言环境中解释日期和时间模式。

给定的日期和时间为美国太平洋时区的本地时间2001-07-0412:08:56。

日期和时间模式结果
"yyyy.MM.dd G'at'HH:mm:ss z"2001.07.04AD at12:08:56PDT
"EEE,MMM d,''yy"Wed,Jul4,'01
"h:mm a"12:08PM
"hh'o''clock'a,zzzz"12o'clock PM,Pacific Daylight Time "K:mm a,z"0:08PM,PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04AD12:08PM
"EEE,d MMM yyyy HH:mm:ss Z"Wed,4Jul200112:08:56-0700 "yyMMddHHmmssZ"010*********-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700
同步
日期格式是不同步的。

建议为每个线程创建独立的格式实例。

如果多个线程同时访问一个格式,则它必须是外部同步的。

相关文档
最新文档