日期转换

import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Calendar; public class StringToDate { public static void main(String[] args){ String s=new String("2009.10.27 20:34:45"); String str=s.replaceAll("//.", "-");//先将字符串格式转化一下 //要转换成yyyy-mm-dd hh:mm:ss Timestamp ts=Timestamp.valueOf(str);//将使用 JDBC 时间戳转义格式的 //String 对象转换为 Timestamp 值 System.out.println(ts); SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH点mm分ss秒"); System.out.println(sdf.format(ts));//格式化 //Calendar c=new Calendar();//对不起,Calendar的构造函数是Protected的 Calendar c=Calendar.getInstance();//通过getInstance()方法获取他的实例 c.setTime(ts); System.out.println("今天是星期"+(c.get(Calendar.DAY_OF_WEEK)-1)); //获取今天是星期几 } }   1 日期模板 模板定义如下: y 年号,如1996 M 月份,如July 或者07 d 月中第几天,如12 H 小时(24 制),如0、17 m 分钟,如32 s 钞钟,如55 S 微钞,如978 E 星期几,如Tuesday D 一年中的第几天,如189 w week in year (Number) 27 W week in month (Number) 2 a am/pm marker (Text) PM k hour in day (1~24) (Number) 24 K hour in am/pm (0~11) (Number) 0 z time zone (Text) Pacific Standard Time ' escape for text (Delimiter) '' single quote (Literal) ' 2 日期格式 使用SimpleDateFormat 类格式化日期,如果日期格式不对,会产生异常。 import java.text.*; import java.util.*; public class TestDate { public static void main(String[] args) { String dStr = "2009.10.1-08.30.01"; Date d = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd- HH.mm.ss"); try { d = sdf.parse(dStr); } catch (ParseException pe) { System.out.println(pe.getMessage()); } System.out.println(d); System.out.println(d.getTime()); } } 在java.text 包中找到那个SimpleDateFormat 类,给它一个模板,可以parse 成一个Date,然后使用Date 类的getItme() 方法,可以得到一个Long 数据。 3 取得当前日期 public String GetDateTime(){ Calendar cal = Calendar.getInstance(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy- MM-dd HH:mm:ss"); String mDateTime=formatter.format(cal.getTime()); return (mDateTime); } public java.sql.Date GetDate(){ java.sql.Date mDate; Calendar cal = Calendar.getInstance(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy- MM-dd HH:mm:ss"); String mDateTime=formatter.format(cal.getTime()); return (java.sql.Date.valueOf(mDateTime)); } 4 当前时间 Calendar cal = Calendar.getInstance(); // SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM- dd HH:mm:ss"); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss G E D F w W a E F"); String mDateTime=formatter.format(cal.getTime()); out.println(mDateTime); 5 一年前日期 java.util.Date myDate=new java.util.Date(); long myTime=(myDate.getTime()/1000)-60*60*24*365; myDate.setTime(myTime*1000); String mDate=formatter.format(myDate); out.println(mDate); out.println("
"); 6 明天日期 myDate=new java.util.Date(); myTime=(myDate.getTime()/1000)+60*60*24; myDate.setTime(myTime*1000); mDate=formatter.format(myDate); out.println(mDate); 7 两个时间之间的天数 SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM- dd"); java.util.Date date= myFormatter.parse("2003-05-1"); java.util.Date mydate= myFormatter.parse("1899-12-30"); long day=(date.getTime()-mydate.getTime())/(24*60*60*1000); out.println(day); 8 加半小时 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); java.util.Date date1 = format.parse("2002-02-28 23:16:00"); long Time=(date1.getTime()/1000)+60*30; date1.setTime(Time*1000); String mydate1=formatter.format(date1); out.println(mydate1); 9 年月周求日期 SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM F E"); java.util.Date date2= formatter2.parse("2003-05 5 星期五"); SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy-MM-dd"); String mydate2=formatter3.format(date2); out.println(mydate2); 10 求给定日期是星期几 mydate= myFormatter.parse("2001-1-1"); SimpleDateFormat formatter4 = new SimpleDateFormat("E"); String mydate3=formatter4.format(mydate); out.println(mydate3); 唐山迪锐软件: http://www.tsp2c.cn

你可能感兴趣的:(java)