当前位置:文档之家› Java_各种时间格式转换大全

Java_各种时间格式转换大全

Java_各种时间格式转换大全
Java_各种时间格式转换大全

Java_各种时间格式转换大全/**

* 字符串转换为java.util.Date

* 支持格式为yyyy.MM.dd G 'at' hh:mm:ss z 如'2002-1-1 AD at 22:10:59 PSD'

* yy/MM/dd HH:mm:ss 如'2002/1/1 17:55:00'

* yy/MM/dd HH:mm:ss pm 如'2002/1/1 17:55:00 pm'

* yy-MM-dd HH:mm:ss 如'2002-1-1 17:55:00'

* yy-MM-dd HH:mm:ss am 如'2002-1-1 17:55:00 am'

* @param time String 字符串

* @return Date 日期

*/

public static Date stringToDate(String time){

SimpleDateFormat formatter;

int tempPos=time.indexOf("AD") ;

time=time.trim() ;

formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z");

if(tempPos>-1){

time=time.substring(0,tempPos)+

"公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z");

}

tempPos=time.indexOf("-");

if(tempPos>-1&&(time.indexOf(" ")<0)){

formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ");

}

else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){

formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss");

}

else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){

formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");

}

else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){

formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");

}

else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){

formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");

}

ParsePosition pos = new ParsePosition(0);

java.util.Date ctime = formatter.parse(time, pos);

return ctime;

}

/**

* 将java.util.Date 格式转换为字符串格式'yyyy-MM-dd HH:mm:ss'(24小时制)

* 如Sat May 11 17:24:21 CST 2002 to '2002-05-11 17:24:21'

* @param time Date 日期

* @return String 字符串

*/

public static String dateToString(Date time){

SimpleDateFormat formatter;

formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");

String ctime = formatter.format(time);

return ctime;

}

/**

* 将java.util.Date 格式转换为字符串格式'yyyy-MM-dd HH:mm:ss a'(12小时制)

* 如Sat May 11 17:23:22 CST 2002 to '2002-05-11 05:23:22 下午'

* @param time Date 日期

* @param x int 任意整数如:1

* @return String 字符串

*/

public static String dateToString(Date time,int x){

SimpleDateFormat formatter;

formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");

String ctime = formatter.format(time);

return ctime;

}

/**

*取系统当前时间:返回只值为如下形式

*2002-10-30 20:24:39

* @return String

*/

public static String Now(){

return dateToString(new Date());

}

/**

*取系统当前时间:返回只值为如下形式

*2002-10-30 08:28:56 下午

*@param hour 为任意整数

*@return String

*/

public static String Now(int hour){

return dateToString(new Date(),hour);

}

/**

*取系统当前时间:返回值为如下形式

*2002-10-30

*@return String

*/

public static String getYYYY_MM_DD(){

return dateToString(new Date()).substring(0,10); }

/**

*取系统给定时间:返回值为如下形式

*2002-10-30

*@return String

*/

public static String getYYYY_MM_DD(String date){ return date.substring(0,10);

}

public static String getHour(){

SimpleDateFormat formatter;

formatter = new SimpleDateFormat ("H");

String ctime = formatter.format(new Date());

return ctime;

}

public static String getDay(){

SimpleDateFormat formatter;

formatter = new SimpleDateFormat ("d");

String ctime = formatter.format(new Date());

return ctime;

}

public static String getMonth(){

SimpleDateFormat formatter;

formatter = new SimpleDateFormat ("M");

String ctime = formatter.format(new Date());

return ctime;

}

public static String getYear(){

SimpleDateFormat formatter;

formatter = new SimpleDateFormat ("yyyy");

String ctime = formatter.format(new Date());

return ctime;

}

public static String getWeek(){

SimpleDateFormat formatter;

formatter = new SimpleDateFormat ("E");

String ctime = formatter.format(new Date());

return ctime;

}

在jsp页面中的日期格式和sqlserver中的日期格式不一样,怎样统一?

在页面上显示输出时,用下面的函数处理一下

public class DateUtil(){

public static String fmtShortEnu(Date myDate) {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");

String strDate = formatter.format(myDate);

return strDate;

}

}

new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

new java.text.SimpleDateFormat("yyyy-MM-dd")

建议还是把sqlserver的字段类型改成varchar的吧,用字符串处理可以完全按照自己的意愿处理,没有特殊的需求,不要使用date型

字串日期格式转换

用的API是SimpleDateFormat,它是属於java.text.SimpleDateFormat,所以请记得import进来!

用法:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

这一行最重要,它确立了转换的格式,yyyy是完整的西元年,MM是月份,dd是日期,至於HH:mm:ss就不需要我再解释了吧!

ps:为什麽有的格式大写,有的格式小写,那是怕避免混淆,例如MM 是月份,mm是分;HH是24小时制,而hh是12小时制

1.字串转日期:

2002-10-8 15:30:22要把它转成日期,可以用

Date date=sdf.parse("2002-10-8 15:30:22");

2.日期转字串

假如把今天的日期转成字串可用

String datestr=sdf.format(new Date());

这个字串的内容便类似2002-10-08 14:55:38

透过这个API我们便可以随心所欲的将日期转成我们想要的字串格

式,例如希望将日期输出成2002年10月08日,

我们可以这麽写:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日"); String datestr=sdf.format(new Date());

datestr便会依照我们设定的格式输出

//对日期格式的转换成("yyyy-MM-dd")格式的方法

public java.sql.Date Convert(String str)

{

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");

try

{

java.util.Date d = sdf.parse(str);

java.sql.Date d1 = new java.sql.Date(d.getTime());

return d1;

}

catch(Exception ex)

{

ex.printStackTrace();

&nbs

java处理日期时间 相加减

JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970年 1月1日的00:00:00.000,格里高利历)的偏移量。 [java]view plaincopy 1.Calendar cal=Calendar.getInstance();//使用默认时区和语言环境获得一个日历。 2.cal.add(Calendar.DAY_OF_MONTH,-1);//取当前日期的前一天. 3. 4.cal.add(Calendar.DAY_OF_MONTH,+1);//取当前日期的后一天. 5. 6.//通过格式化输出日期 7.java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM- dd"); 8. 9.System.out.println("Today is:"+format.format(Calendar.getInstance().getTime() )); 10. 11.System.out.println("yesterday is:"+format.format(cal.getTime())); 得到2007-12-25日期: [java]view plaincopy 1.Calendar calendar=new GregorianCalendar(2007,11,25,0,0,0); 2.Date date=calendar.getTime(); 3.System.out.println("2007Christmas is:"+format.format(date)); java月份是从0-11,月份设置时要减1. GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

java中的日期处理类总结

java中的日期处理类总结:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat 类 今天花了好大一点时间把java的日期类做了一下整理,哈 1、Date类(该类现在很少用了) l Date类对象的创建: n 创建一个当前时间 //默认是创建一个代表系统当前日期的Date对象 Date d = new Date(); n 创建一个我们指定的时间的Date对象: 下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。 //创建一个代表2009年6月12号的Date对象 Date d1 = new Date(2009-1900, 6-1, 12); (注意参数的设置啊!) l 正确获得一个date对象所包含的信息 如: Date d2 = new Date(2009-1900, 6-1, 12); //获得年份(注意年份要加上1900,这样才是日期对象d2所代表的年份) int year = d2.getYear() + 1900; //获得月份(注意月份要加1,这样才是日期对象d2所代表的月份) int month = d2.getMonth() + 1; //获得日期 int date = d2.getDate();

//获得小时 int hour = d2.getHours(); //获得分钟 int minute = d2.getMinutes(); //获得秒 int second = d2.getSeconds(); //获得星期(注意:0代表星期日、1代表星期1、2代表星期2,其他的一次类推了) int day = d2.getDay(); 运行结果: 年份:2009 月份:6 日期:12 小时:0 //不设置默认是0 分钟:0 //不设置默认是0 秒:0 //不设置默认是0 星期:5 //09-6-12今天就是星期5,又是一个星期天哦 2、Calendar类 Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些 l Calendar类对象的创建

java中时间格式的转换

1.将日期类型转换为格式的字符串类型 java.util.Date中的日期 Date Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=sdf.format(date); 2.将字符串类型的转换为指定格式的日期类型(java.util.Date) String time = "2009-7-29 14:28:12"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = df.parse(time); 这里需要抛出ParseException异常 若将java.util.Date类型转换成java.sql.Date时,只需添加一行代码 java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 3.使用java.sql.Timestamp在java程序中rs.getDate()时获取日期的时、分、秒 String str = ""; String format="yyyy-MM-dd HH:mm:ss"; try { //这里与数据库的连接已经省略,获得PreparedStatement的对象psmt ResultSet rs = psmt.executeQuery(); while(rs.next()){ Timestamp ts = rs.getTimestamp("pdate"); SimpleDateFormat sdf = new SimpleDateFormat(format); str = sdf.format(ts); System.out.println(str); } } catch (SQLException e) { e.printStackTrace(); } ...... SimpleDateFormat的用法: //SimpleDateFormat中的parse方法可以 把String型的字符串转换成特定格式的date类型 import java.text.*; import java.util.*; public class TestDate { public static void main(String[] args) { String dStr = "2001.12.12-08.23.21"; Date d = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss"); try { d = sdf.parse(dStr);

java的时间处理续计算java时间)

1. java计算时间依靠1970年1月1日开始的毫秒数. 2. date类的构造函数date()返回代表当前创建的时刻的对象。date的方法gettime()返回一个long值在数值上等于1970年1月1日之前或之后的时刻。 3. dateformat类用来转换date到string,反之亦然。静态方法getdateinstance()返回dateformat的缺省格式;getdateinstance(dateformat.field)返回指定的dateformat对象格式。format(date d)方法返回string表示日期,例如"january 1,2002."反过来,parse(string s)方法返回以参数字符串表示的date对象。 4. format()方法返回的字符串格式根据不同地区的时间设置而有所不同。 5. gregoriancalendear类有两个重要的构造函数:gregoriancalerdar(),返回代表当前创建时间的对象;gregoriancalendar(int year,int month,int date)返回代表任意日期的对象。gregoriancalendar类的gettime()方法返回日期对象。add(int field,int amount)方法通过加或减时间单位,象天数,月数或年数来计算日期。 gregoriancalendar和时间 两个gregoriancalendar的构造函数可以用来处理时间。前者创建一个表示日期,小时和分钟的对象: gregoriancalendar(int year, int month, int date, int hour, int minute) 第二个创建一个表示一个日期,小时,分钟和秒: gregoriancalendar(int year, int month, int date, int hour, int minute, int second) 首先,我应该提醒一下,每一个构造函数需要时间信息中的日期信息(年,月,日)。如果你想说2:30 p.m.,你必须指出日期。 同样,每一个gregoriancalendar构造函数创建一个在时间上使用毫秒计算的对象。所以,如果你的构造函数只提供年,月,日参数,那小时,分钟,秒和毫秒的值将被置0. dateformat和时间 你可以使用静态方法getdatetimeinstance(int datestyle,int timestyle)来建立dateformat对象来显示时间和日期。这个方法表明你想要的日期和时间格式。如果你喜欢使用缺省格式,可以使用getdatetimeinstance()来代替它。 你可以使用静态方法gettimeinstance(int timestyle)创建dateformat对象来显示正确的时间。下面的程序示范了getdatetimeinstance()和gettimeinstance()怎样工作: import java.util.*; import java.text.*; public class apollo { public static void main(string[] args) { gregoriancalendar liftoffapollo11 = new gregoriancalendar(1969, calendar.july, 16, 9, 32); date d = liftoffapollo11.gettime(); dateformat df1 = dateformat.getdatetimeinstance(dateformat.medium, dateformat.medium); dateformat df2 = dateformat.gettimeinstance(dateformat.short); string s1 = df1.format(d); string s2 = df2.format(d);

Java_各种时间格式转换大全

Java_各种时间格式转换大全/** * 字符串转换为java.util.Date
* 支持格式为yyyy.MM.dd G 'at' hh:mm:ss z 如'2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如'2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如'2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如'2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如'2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); }

日期格式大全

Java中日期格式转换 /** * 字符串转换为java.util.Date
* 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); } tempPos=time.indexOf("-"); if(tempPos>-1&&(time.indexOf(" ")<0)){ formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ"); } else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); } else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); } else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } ParsePosition pos = new ParsePosition(0); java.util.Date ctime = formatter.parse(time, pos); return ctime;

JAVA处理日期时间常用方法

JAVA 处理日期时间常用方法:java.util.Calendar Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH 、DA Y_OF_MONTH 、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970 年1 月1 日的00:00:00.000,格里高利历)的偏移量。 例:Calendar cal = Calendar.getlnstanee。//使用默认时区和语言环境获得一个日历。 cal.add(Calendar.DAY_OF_MONTH, -1)。//取当前日期的前一天. cal.add(Calendar.DAY_OF_MONTH, +1)。//取当前日期的后一天. //通过格式化输出日期 java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd") 。 System.out.println("Today is:"+format.format(Calendar.getlnstance().getTime()))。System.out.println("yesterday is:"+format.format(cal.getTime()))。 得到2007-12-25日期: Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0。)

Date date = calendar.getTime(。) System.out.println("2007 Christmas is:"+format.format(date))。//java 月份是从0-11,月份设置时要减1. //GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒. 取日期的部分: int year =calendar.get(Calendar.YEAR)。 int month=calendar.get(Calendar.MONTH)+1。 int day =calendar.get(Calendar.DAY_OF_MONTH)。 int hour =calendar.get(Calendar.HOUR_OF_DAY)。 int minute =calendar.get(Calendar.MINUTE)。 int seconds =calendar.get(Calendar.SECOND。) 取月份要加1.判断当前月份的最大天数: Cale ndar cal = Cale ndar.getl nsta nee。 int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH) 。System.out.println(day)。java.util.Date 类Date 表示特定的瞬间,精确到毫秒。从JDK 1.1 开始,应该使用Cale ndar类实现日期和时间字段之间转换,使用DateFormat类来格式化和分析日期字符串。Date 中的相应方法已废弃。尽管Date 类打算反映协调世界时(UTC) ,但无法做到如此准确,这取决于 Java虚拟机的主机环境。当前几乎所有操作系统都假定1天二24 x 60 X50 = 86400秒。但对于UTC,大约每一两年出现一次额外的一秒,称为“闰秒”。闰秒始终作为当天的最后一秒增加,并且始终在 12 月31 日或6 月30 日增加。例如,1995 年的最后一分钟是61

Java之时间、日期与数字

第6章时刻、日期和数字 6.1 Date类 Date a=new Date(); (1)Date类在java.util包中。使用Date类的无参数构造方法创建的对象能够猎取本地当前时刻。Date对象表示时刻的默认顺序是星期、月、日、小时、分、秒、年。 例如:Sat Apr 28 21:59:38 CST 2001 (2)我们可能希望按着某种适应来输出时刻,比如时刻的顺序:年月星期日或年月星期日小时分秒。 这时能够使用DataFormat的子类SimpleDateFormat来实现时期的格式化。SimpleDateFormat有一个常用构造方法:

public SimpleDateFormat(String pattern)。 该构造方法能够用参数pattern指定的格式创建一个对象,该对象调用 format(Date date) 方法格式化时刻对象date。需要注意的是,pattern中应当含有一些有效的字符序列。例如: ● y或yy 表示用两位数字输出年份 yyyy表示用4位数字输出年份。 ● M或MM 表示用两位数字或文本输出月份,假如想用汉字输出月份,pattern中应连续包含至少3个M,如MMM。 ● d或dd 表示用两位数字输出日。 ● H或HH 表示用两位数字输出小时。 ● m或mm 表示用两位数字输出分。 ● s或ss 表示用两位数字输出秒。 ● E 表示用字符串输出星期。在下面的例子dateformat.java中,我们用3种格式输出时刻。 (3)Java日期时刻及其格式化能够用System类的静态方法public static long currentTimeMillis()猎取系统当前时刻,那个时刻是从1970年1月1日0点到目前时刻所走过的毫秒数

Java日期格式大全

日期和时间模式 日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串中,未加引号的字母'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 同步 日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。

判断日期格式 ---JAVA

/** * 正则表达式验证日期格式 * @param args */ public static void main(String[] args) { String checkValue = "2007-02-29"; //String eL = "^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2 -9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{ 2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((1 6|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$"; String eL= "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\ \s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0 -9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([1 3579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][ 0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\ /\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))"; Pattern p = https://www.doczj.com/doc/3a5602547.html,pile(eL); Matcher m = p.matcher(checkValue); boolean b = m.matches(); if(b) { System.out.println("格式正确"); } else { System.out.println("格式错误"); } }

java中的循环日期

Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat类 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); //year 为int time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间 2.Calendar和Date的转化 (1) Calendar转化为Date Calendar cal=Calendar.getInstance(); Date date=cal.getTime(); (2) Date转化为Calendar Date date=new Date(); Calendar cal=Calendar.getInstance(); cal.setTime(date); 3.把字符串转化为java.util.Date 方法一: SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); java.util.Date dt=sdf.parse("2005-2-19"); System.out.print(sdf.format(dt)); //输出结果是:2005-2-19 方法二: java.util.Date dt=null; DateFormat df=DateFormat.getDateInstance(); dt=df.parse("2005-12-19"); System.out.println(dt); //输出结果为:Mon Dec 19 00:00:00 CST 2005 System.out.println(df.format(dt)); //输出结果为:2005-2-19 4.把字符串转化为java.sql.Date

java.util.Date 与 java.sql.Date互转 及 字符串转换为日期时间格式

1、将java.util.Date 转换为java.sql.Date java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); 2、若要插入到数据库并且相应的字段为Date类型 可使用PreparedStatement.setDate(int ,java.sql.Date)方法 其中的java.sql.Date可以用上面的方法得到 也可以用数据库提供TO_DA TE函数 比如现有ud TO_DATE(new SimpleDateFormat().format(ud,"yyyy-MM-dd HH:mm:ss"), "YYYY-MM-DD HH24:MI:SS") 注意java中表示格式和数据库提供的格式的不同 sql="update tablename set timer=to_date('"+x+"','yyyymmddhh24miss') where ....." 这里的x为变量为类似:20080522131223 3、如何将"yyyy-mm-dd"格式的字符串转换为java.sql.Date 方法1 SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String dateStringToParse = "2007-7-12"; try{ java.util.Date date = bartDateFormat.parse(dateStringToParse); java.sql.Date sqlDate = new java.sql.Date(date.getTime()); System.out.println(sqlDate.getTime()); } catch (Exception ex) { System.out.println(ex.getMessage()); } 方法2 String strDate = "2002-08-09"; StringTokenizer st = new StringTokenizer(strDate, "-"); java.sql.Date date=new java.sql.Date(Integer.parseInt(st.nextToken()));

timestamp java 时间格式

1.时间格式:2008-11-2016:19:42 2.方法1: 3. 4.Timestamp d = new Timestamp(System.currentTimeMillis()); 5.Timestamp d = new Timestamp(System.currentTimeMillis()); 6.方法2: 7.Date date = new Date(); 8.Timestamp nousedate = new Timestamp(date.getTime()); 9. 10.整理一: 11.这里的一片文章,我个人认为讲解的很详细,有对 java.sql.Date的使 用还有困惑的请看。 12.java.sql.Date 只存储日期数据不存储时间数据 13.// 会丢失时间数据 14.preparedStatement.setDate(1, new java.sql.Date(date.getTime())) ; 15.//可以这样来处理 16.preparedStatement.setTimestamp(1, new java.sql.Timestamp(new ja va.util.Date().getTime())); 17.//想要得到完整的数据,包括日期和时间,可以这样 18.java.util.Date d = resultSet.getTimestamp(1); 19.//这样处理更合适一些,可以避免一些潜在Timestamp 问题 20.java.util.Date d = new java.util.Date(resultSet.getTimestamp(1) .getTime()); 21.自己补的话 22.这样的话: 23.往数据库存储的时候可以接收 java.util.Date类型再用getTime()方 法得到代表那个Date对象的long值,再以这个long值构造一个 Timestamp对象存进数据库中。 24.从存数据库里取的时候,可以先得到Timestamp用他的getTime()方法得 到long值,再以这个long值构造一个 java.util.Date对象,这样就可以对这个Date对象操作了。不如 说 new SimpleTimeFormat(“yyyyy-MM-dd HH:mm:ss”).format()等等 25.整理二: 26.用Timestamp来记录日期时间还是很方便的,但有时候显示的时候是不需 要小数位后面的毫秒的,这样就需要在转换为String时重新定义格 式。 27.Timestamp转化为 String: SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd [...]

java的时间处理(续计算java时间)

1.java计算时间依靠1970年1月1日开始的毫秒数. 2.date类的构造函数date()返回代表当前创建的时刻的对象。date的方法gettime()返回一个long值在数值上等于1970年1月1日之前或之后的时刻。 3.dateformat类用来转换date到string,反之亦然。静态方法getdateinstance()返回dateformat的缺省格式;getdateinstance(dateformat.field)返回指定的dateformat对象格式。format(dated)方法返回string表示日期,例如"january1,2002."反过来,parse(strings)方法返回以参数字符串表示的date对象。 4.format()方法返回的字符串格式根据不同地区的时间设置而有所不同。 5.gregoriancalendear类有两个重要的构造函数:gregoriancalerdar(),返回代表当前创建时间的对象;gregoriancalendar(intyear,intmonth,intdate)返回代表任意日期的对象。gregoriancalendar类的gettime()方法返回日期对象。add(intfield,intamount)方法通过加或减时间单位,象天数,月数或年数来计算日期。 两个 你必同样, 来代替它。 } } 在我的电脑上,上面的程序显示如下: jul16,19699:32:00am 9:32am (输出根据你所在得地区有所不同) 计算时间间隔 你可能有时需要计算过去的时间;例如,给你开始和结束时间,你想知道制造流程的持续时间。一个出租公司按小时或天数出租东西,计算时间对他们也很有用。同样的,在金融界,经常需要计算重要的支付时间。 将问题复杂化,人类至少是用两种方法计算时间。你可以说一天已经结束当24小时过去了,或者日历从今天翻到明天。我们将讨论我们想到的这两种情况。

JAVA字符串转日期或日期转字符串

JAVA字符串转日期或日期转字符串(转) 2010-08-16 16:34:03| 分类: |字号订阅 JAVA字符串转日期或日期转字符串(转) 文章中,用的API是SimpleDateFormat,它是属于,所以请记得import进 来! 用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH:mm:ss 就不需要我再解释了吧! PS:为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小 时制,而hh是12小时制。 1.字符串转日期 2008-07-10 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " ); 2.日期转字符串 假如把今天的日期转成字符串可用 String str = sdf.format(new Date()); 这个字符串内容的格式类似2008-07-10 19:20:00。 透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2008 年7月10日,我们可以这么写: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy 年MM月dd日 " ); String str = sdf.format(new Date()); str便会依照我们设定的格式输出了。 附编写好的一个简单实例:

java.util.Date 与 java.sql.Date互转 及 字符串转换为日期时间格式

1、将java.util.Date转换为java.sql.Datejava.util.Date utilDate = new java.util.Date();java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());2、若要插入到数据库并且相应的字段为Date类型可使用 PreparedStatement.setDate(int ,java.sql.Date)方法其中的java.sql.Date可以用上面的方法得到也可以用数据库提供TO_DATE函数比如现有udTO_DATE(new SimpleDateFormat().format(ud,"yy-MM-dd HH: mm: ss"),"YY-MM-DD HH24: MI: SS")注意java中表示格式和数据库提供的格式的不同sql="update tablename set timer=to_date('"+x+"','yymmddhh24miss') where ....."这里的x为变量为类似: 、如何将"yy-mm-dd"格式的字符串转换为java.sql.Date方法1SimpleDateFormatbartDateFormat =new SimpleDateFormat("yy-MM- dd");StringdateStringToParse="2007-7- 12";try{java.util.Datedate=bartDateFormat.parse(dateStringToParse);java.sql.Datesql Date=new java.sql.Date(date.getTime());System.out.println(sqlDate.getTime());}catch (Exception ex) {System.out.println(ex.getMessage());}方法2StringstrDate="2002-08-09";StringTokenizerst=newStringTokenizer(strDate, "-");java.sql.Date date=newjava.sql.Date(Integer.parseInt(st.nextToken()));java.util.Date和 java.sql.Date的区别java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类)。 但是为什么java.sql.Date类型的值插入到数据库中Date字段中会发生数据截取呢?java.sql.Date是为了配合SQL DATE而设置的数据类型。 “规范化”的java.sql.Date只包含____年__月__日信息,时分秒毫秒都会清零。 格式类似:

时间类型DateTime的处理

数据库时间类型DateTime的处理 若对应数据库数据是oracle的Date类型,即只需要年月日的,可以选择使用java.sql.Date类型,若对应的是 MSsqlserver数据库的DateTime类型,即需要年月日时分秒的,选择java.sql.Timestamp类型 你可以使用dateFormat定义时间日期的格式,转一个字符串即可: 比如:设定字符串2002-03-22 15:22:32,调用如下方法: public class StringToDate { public final static java.sql.Timestamp string2Date(String dateString) throws https://www.doczj.com/doc/3a5602547.html,ng.Exception { DateFormat dateFormat; dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH); //dateFormat = new SimpleDateFormat("yyyy.MM.dd", Locale.ENGLISH); dateFormat.setLenient(false); java.util.Date timeDate = dateFormat.parse(dateString);//util类型 //java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型 java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型 return dateTime; } } 即可得到Timestamp类型,若想得到Date类型的,将方法内的注释替换一下即可,当然进入的参数格式得为"2002-02-12" 这种模式,btw:其中的"-"符号可以为“.”,只需将dataformat的格式也改变一下即可 运行实例: package Alpha; import java.util.*; import java.text.*; public class Test { public static void main(String[] args) { try { String sToDate = "2002-3-4";//用于转换成java.sql.Date的字符串 String sToTimestamp = "2002-9-12 14:21:22";//用于转换成java.sql.Timestamp的字符串 java.sql.Date date1 = string2Date(sToDate); java.sql.Timestamp date2 = string2Time(sToTimestamp); System.out.println(date1.toString());//结果显示 System.out.println(date2.toString());//结果显示 } catch(Exception e) {} } public final static java.sql.Timestamp string2Time(String dateString) throws https://www.doczj.com/doc/3a5602547.html,ng.Exception { DateFormat dateFormat; dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);//设定格式

相关主题
文本预览
相关文档 最新文档