浏览 1732 次
锁定老帖子 主题:日期 java
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-13
最后修改:2010-06-18
字符串--->日期
[color=indigo]方法一: http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html java.lang.Object | +----java.util.Calendar(Calendar is an abstract base class for converting | between a Date object and a set of integer fields | such as YEAR,MONTH, DAY, HOUR, and so on.) | +----java.util.GregorianCalendar (Subclasses of Calendar interpret a Date according to the rules of a specific calendar system. The platform provides one concrete subclass of Calendar: GregorianCalendar.) GregorianCalendar 的一个构造函数 public GregorianCalendar(int year,int month,int date) 在缺省时区的缺省语言环境下用给出的日期设置构造一个 GregorianCalendar 。 参数: year - 用于设置日历中的 YEAR 时间域的值。 month - 用于设置日历中的 MONTH 时间域的值。 Month 值是基于零的。 例如,0 代表 January。 date - 用于设置日历中的 DATE 时间域的值。 eg: String date = "2008-01-31"; int year = Integer.parseInt(date.substring(0, 4)); int month = Integer.parseInt(date.substring(5, 7))-1; int day = Integer.parseInt(date.substring(8, 10)); GregorianCalendar sdate = new GregorianCalendar(year,month,day); Calendar calendar = Calendar.getInstance(); calendar.setTime(sdate.getTime()); System.out.print(calendar.get(calendar.YEAR) + "-"); System.out.print((calendar.get(calendar.MONTH) + 1) + "-"); System.out.println(calendar.get(calendar.DATE)); http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html java.lang.Object | ——java.text.Format | ——java.text.DateFormat | ——java.text.SimpleDateFormat DateFormat is an abstract class for date/time formatting subclasses which formats and parses dates or time in a language-independent manner. The date/time formatting subclass, such as SimpleDateFormat, allows for formatting (i.e., date -> text), parsing (text -> date), and normalization. 方法二: String date = "2008-01-31"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date adate = sdf.parse(date); Calendar calendar = Calendar.getInstance(); calendar.setTime(adate); System.out.print(calendar.get(calendar.YEAR) + "-"); System.out.print((calendar.get(calendar.MONTH) + 1) + "-"); System.out.println(calendar.get(calendar.DATE)); 日期--->字符串 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); String dateFormat = sdf.format(date); System.out.println(dateFormat); DateFormat的小应用 GregorianCalendar cal = new GregorianCalendar(); DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL); DateFormat dateFormat1 = DateFormat.getDateInstance(DateFormat.SHORT); DateFormat dateFormat2 = DateFormat.getDateInstance(DateFormat.LONG); DateFormat dateFormat3 = DateFormat.getDateInstance(DateFormat.DEFAULT); DateFormat dateFormat4 = DateFormat.getDateInstance(DateFormat.MEDIUM); DateFormat dateFormat5 = DateFormat.getDateInstance(DateFormat.DATE_FIELD); System.out.println("System Date: " + dateFormat.format(cal.getTime())); System.out.println("System Date1: " + dateFormat1.format(cal.getTime())); System.out.println("System Date2: " + dateFormat2.format(cal.getTime())); System.out.println("System Date3: " + dateFormat3.format(cal.getTime())); System.out.println("System Date4: " + dateFormat4.format(cal.getTime())); System.out.println("System Date5: " + dateFormat4.format(cal.getTime())); 结果: System Date: 2008年8月13日 星期三 System Date1: 08-8-13 System Date2: 2008年8月13日 System Date3: 2008-8-13 System Date4: 2008-8-13 System Date5: 2008-8-13 String date = "2008-1-31"; DateFormat df = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.CHINA); Date myDate = df.parse(date); System.out.println(df.format(myDate)); String date = "2008年8月13日"; DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA); Date myDate = df.parse(date); System.out.println(df.format(myDate)); 明天的日期 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+ 1); System.out.print(calendar.get(calendar.YEAR) + "-"); System.out.print((calendar.get(calendar.MONTH) + 1) + "-"); System.out.println(calendar.get(calendar.DATE)); [/color] 比较两个日期相差天数 http://zhidao.baidu.com/question/14990696 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; class Test2 { public static String getDate(){ SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd"); Date dd = new Date(); return ft.format(dd); } public static long getQuot(String time1, String time2){ long quot = 0; SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd"); try { Date date1 = ft.parse( time1 ); Date date2 = ft.parse( time2 ); quot = date1.getTime() - date2.getTime(); quot = quot / 1000 / 60 / 60 / 24; } catch (ParseException e) { e.printStackTrace(); } return quot; } public static void main(String[] args) throws Exception { String date1 = "2008/8/8"; String date2 = getDate(); long day = getQuot(date1,date2); System.out.println( "距离 "+date1+" 还有 "+day+" 天" ); } } 你看一下这段代码,是从今天到2008/8/8的天数。 Date的getTime()方法返回自1970年1月1日午夜(通用时间)以来的毫秒数。 用2008/8/8的getTime()减去今天的getTime()就是这两天相差的毫秒数,1秒=1000毫秒,1分钟=60秒,1小时=60分钟,1天=24小时,然后除除除就得到天数了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |