Java获取当前年月日、时间
2016-01-31 22:53
645 查看
两种方法,通过Date类或者通过Calendar类。Date类比较简单,但是要得到细致的字段的话Calendar类比较方便。
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; import org.junit.Test; public class GetTimeNow { /** * 通过Calendar类获取 */ @Test public void getTimeNowThroughCalendar(){ //使用默认时区和语言环境获得一个日历。 Calendar rightNow = Calendar.getInstance(); /*用Calendar的get(int field)方法返回给定日历字段的值。 HOUR 用于 12 小时制时钟 (0 - 11),HOUR_OF_DAY 用于 24 小时制时钟。*/ Integer year = rightNow.get(Calendar.YEAR); Integer month = rightNow.get(Calendar.MONTH)+1; //第一个月从0开始,所以得到月份+1 Integer day = rightNow.get(rightNow.DAY_OF_MONTH); Integer hour12 = rightNow.get(rightNow.HOUR); Integer hour24 = rightNow.get(rightNow.HOUR_OF_DAY); Integer minute = rightNow.get(rightNow.MINUTE); Integer second = rightNow.get(rightNow.SECOND); Integer millisecond = rightNow.get(rightNow.MILLISECOND); String TimeNow12 = year+"-"+month+"-"+day+" "+hour12+":"+minute+":"+second+":"+millisecond; String TimeNow24 = year+"-"+month+"-"+day+" "+hour24+":"+minute+":"+second+":"+millisecond; System.out.println("日历:"+rightNow+"\n12小时制时钟:"+TimeNow12+"\n24小时制时钟:"+TimeNow24); } /** * 通过Date类获取 */ @Test public void getTimeNowThroughDate(){ Date date=new Date(); DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS"); System.out.println(format.format(date)); //DateFormat类的静态工厂方法 System.out.println(format.getInstance().format(date)); System.out.println(format.getDateInstance().format(date)); System.out.println(format.getTimeInstance().format(date)); System.out.println(format.getDateTimeInstance().format(date)); //DateFormat带参数的静态工厂方法 //第一个参数是静态变量style有4中取值0、1、2、3分别对应SHORT、MIDIUM、LONG、FULL //第二个参数根据环境敏感的Locale类的静态变量自定义输出 System.out.println(format.getDateInstance(0, Locale.CHINA).format(date)); System.out.println(format.getTimeInstance(0,Locale.CHINA).format(date)); System.out.println(format.getDateTimeInstance(2,2).format(date)); } /** * 两者结合。。。 */ @Test public void getTimeNowTogether(){ String TimeNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS").format(Calendar.getInstance().getTime()); System.out.println(TimeNow); } }三种方法分别输出:
日历:java.util.GregorianCalendar[time=1454251772565,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2016,MONTH=0,WEEK_OF_YEAR=6,WEEK_OF_MONTH=6,DAY_OF_MONTH=31,DAY_OF_YEAR=31,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=49,SECOND=32,MILLISECOND=565,ZONE_OFFSET=28800000,DST_OFFSET=0]12小时制时钟:2016-1-31 10:49:32:56524小时制时钟:2016-1-31 22:49:32:565
2016-01-31 22:49:50:3616-1-31 下午10:492016-1-3122:49:502016-1-31 22:49:502016年1月31日 星期日下午10时49分50秒 CST2016-1-31 22:49:50
2016-01-31 22:50:09:270附:可以将不同选项传入这些工厂方法,以控制结果的长度(从 SHORT 到 MEDIUM 到 LONG 再到 FULL)。确切的结果取决于语言环境,但是通常:SHORT 完全为数字,如 12.13.52 或 3:30pmMEDIUM 较长,如 Jan 12, 1952LONG 更长,如 January 12, 1952 或 3:30:32pmFULL 是完全指定,如 Tuesday、April 12、1952 AD 或 3:30:42pm PST。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序