java date 小时_Java日期时间(Date/Time)

获取当前日期和时间

在Java中容易得到当前的日期和时间。可以使用一个简单的Date对象的toString()方法,如下所示打印当前日期和时间:

importjava.util.Date;publicclassDateDemo{publicstaticvoidmain(Stringargs[]){// Instantiate a Date objectDatedate =newDate();// display time and date using toString()System.out.println(date.toString());}}

这将产生以下结果:

MonMay0409:51:52CDT 2009

使用SimpleDateFormat格式化日期:

SimpleDateFormat是一个具体的类,用于格式化和分析日期的语言环境敏感的方式。 SimpleDateFormat先选择任何用户定义的模式为日期时间格式。例如:

importjava.util.*;importjava.text.*;publicclassDateDemo{publicstaticvoidmain(Stringargs[]){DatedNow =newDate();SimpleDateFormatft =newSimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");System.out.println("Current Date: "+ft.format(dNow));}}

这将产生以下结果:

CurrentDate:Sun2004.07.18at 04:14:09PM PDT

import java.util.*;

import java.text.*;

public class DateDemo {

public static void main(String args[]) {

Date dNow = new Date( );

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

System.out.println("当前时间为: " + ft.format(dNow));

}

}

用printf格式化日期:

日期和时间格式用printf方法可以非常轻松地做到。您可以使用两个字母的格式,从t和在下面给出的表格中的其中一个字母结束。例如:

importjava.util.Date;publicclassDateDemo{publicstaticvoidmain(Stringargs[]){// Instantiate a Date objectDatedate =newDate();// display time and date using toString()Stringstr =String.format("Current Date/Time : %tc",date );System.out.printf(str);}}

这将产生以下结果:

CurrentDate/Time:SatDec1516:37:57MST 2012

解析字符串到日期:

SimpleDateFormat类有一些额外的方法,如parse(),它试图根据存储在给定SimpleDateFormat 的对象的格式来分析字符串。例如:

importjava.util.*;importjava.text.*;publicclassDateDemo{publicstaticvoidmain(Stringargs[]){SimpleDateFormatft =newSimpleDateFormat("yyyy-MM-dd");Stringinput =args.length ==0?"1818-11-11":args[0];System.out.print(input +" Parses as ");Datet;try{t =ft.parse(input);System.out.println(t);}catch(ParseExceptione){System.out.println("Unparseable using "+ft);}}}

上述程序的运行示例将产生以下结果:

$ java DateDemo1818-11-11ParsesasWedNov1100:00:00GMT 1818$ java DateDemo2007-12-012007-12-01ParsesasSatDec0100:00:00GMT 2007

//根据日期取得星期几

public static String getWeek(Date date){

SimpleDateFormat sdf = new SimpleDateFormat("EEEE");

String week = sdf.format(date);

return week;

}

// 取得两个日期之间的相差多少天

public static long getDaysBetween(Date date0, Date date1) {

long daysBetween = (date0.getTime() - date1.getTime() + 1000000) / 86400000;// 86400000=3600*24*1000  用立即数,减少乘法计算的开销

return daysBetween;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值