
很多朋友都想知道java怎么获得当前年月日?下面就一起来了解一下吧~
两种方法,通过Date类或者通过Calendar类,Date类比较简单,但是要得到细致的字段的话Calendar类比较方便。
import javatextDateFormat; import javatextSimpleDateFormat; import javautilCalendar; import javautilDate; import javautilLocale; import orgjunitTest; public class GetTimeNow { / 通过Calendar类获取 / @Test public void getTimeNowThroughCalendar(){ //使用默认时区和语言环境获得一个日历。 Calendar rightNow = CalendargetInstance(); /用Calendar的get(int field)方法返回给定日历字段的值。 HOUR 用于 12 小时制时钟 (0 - 11),HOUR_OF_DAY 用于 24 小时制时钟。/ Integer year = rightNowget(CalendarYEAR); Integer month = rightNowget(CalendarMONTH)+1; //第一个月从0开始,所以得到月份+1 Integer day = rightNowget(rightNowDAY_OF_MONTH); Integer hour12 = rightNowget(rightNowHOUR); Integer hour24 = rightNowget(rightNowHOUR_OF_DAY); Integer minute = rightNowget(rightNowMINUTE); Integer second = rightNowget(rightNowSECOND); Integer millisecond = rightNowget(rightNowMILLISECOND); String TimeNow12 = year+"-"+month+"-"+day+" "+hour12+":"+minute+":"+second+":"+millisecond; String TimeNow24 = year+"-"+month+"-"+day+" "+hour24+":"+minute+":"+second+":"+millisecond; Systemoutprintln("日历:"+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"); Systemoutprintln(formatformat(date)); //DateFormat类的静态工厂方法 Systemoutprintln(formatgetInstance()format(date)); Systemoutprintln(formatgetDateInstance()format(date)); Systemoutprintln(formatgetTimeInstance()format(date)); Systemoutprintln(formatgetDateTimeInstance()format(date)); //DateFormat带参数的静态工厂方法 //第一个参数是静态变量style有4中取值0、1、2、3分别对应SHORT、MIDIUM、LONG、FULL //第二个参数根据环境敏感的Locale类的静态变量自定义输出 Systemoutprintln(formatgetDateInstance(0, LocaleCHINA)format(date)); Systemoutprintln(formatgetTimeInstance(0,LocaleCHINA)format(date)); Systemoutprintln(formatgetDateTimeInstance(2,2)format(date)); } / 两者结合。。。 / @Test public void getTimeNowTogether(){ String TimeNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")format(CalendargetInstance()getTime()); Systemoutprintln(TimeNow); } }
日历: javautilGregorianCalendar[time=1454251772565,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sunutilcalendarZoneInfo[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:565 24小时制时钟:2016-1-31 22:49:32:565 2016-01-31 22:49:50:36 16-1-31 下午10:49 2016-1-31 22:49:50 2016-1-31 22:49:50 2016年1月31日 星期日 下午10时49分50秒 CST 2016-1-31 22:49:50 2016-01-31 22:50:09:270
import javatextSimpleDateFormat;
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(SystemcurrentTimeMillis());//获取当前时间
String str = formatterformat(curDate);
可以获取当前的年月时分,也可以分开写:
复制代码 代码如下:
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date = sDateFormatformat(new javautilDate());
如果想获取当前的年月,则可以这样写(只获取时间或秒种一样):
Java代码
复制代码 代码如下:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");
String date=sdfformat(new javautilDate());
当然还有就是可以指定时区的时间(待):
复制代码 代码如下:
df=DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL,LocaleCHINA);
Systemoutprintln(dfformat(new Date()));
如何获取Android系统时间是24小时制还是12小时制
复制代码 代码如下:
ContentResolver cv = thisgetContentResolver();
String strTimeFormat = androidproviderSettingsSystemgetString(cv,
androidproviderSettingsSystemTIME_12_24);
if(strTimeFormatequals("24"))
{
Logi("activity","24");
}
复制代码 代码如下:
Calendar c = CalendargetInstance();
取得系统日期:year = cget(CalendarYEAR)
month = cgrt(CalendarMONTH)
day = cget(CalendarDAY_OF_MONTH)
取得系统时间:hour = cget(CalendarHOUR_OF_DAY);
minute = cget(CalendarMINUTE)
利用Calendar获取
复制代码 代码如下:
Calendar c = CalendargetInstance();
取得系统日期:year = cget(CalendarYEAR)
month = cgrt(CalendarMONTH)
day = cget(CalendarDAY_OF_MONTH)
取得系统时间:hour = cget(CalendarHOUR_OF_DAY);
minute = cget(CalendarMINUTE)
Calendar c = CalendargetInstance();
取得系统日期:year = cget(CalendarYEAR)
month = cgrt(CalendarMONTH)
day = cget(CalendarDAY_OF_MONTH)
取得系统时间:hour = cget(CalendarHOUR_OF_DAY);
minute = cget(CalendarMINUTE)
利用Time获取
复制代码 代码如下:
Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。
tsetToNow(); // 取得系统时间。
int year = tyear;
int month = tmonth;
int date = tmonthDay;
int hour = thour; // 0-23
int minute = tminute;
int second = tsecond;
SharedPreferences sp = getSharedPreferences("guozitv2", ContextMODE_PRIVATE);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String spilt[] = dfformat(new Date())toString()split("-");
if (Update(spilt)) {
Editor editor = spedit();
editorputInt("year", IntegervalueOf(spilt[0]));
editorputInt("month", IntegervalueOf(spilt[1]));
editorputInt("day", IntegervalueOf(spilt[2]));
editorcommit();
}
public boolean Update(String[] spilt) {
int year = spgetInt("year", 0);
int month = spgetInt("month", 0);
int day = spgetInt("day", 0);
int yearNow = IntegervalueOf(spilt[0]);
int monthNow = IntegervalueOf(spilt[1]);
int dayNow = IntegervalueOf(spilt[2]);
if (year > yearNow) {
return false;
} else if (year < yearNow) {
return true;
} else {
if (month > monthNow) {
return false;
} else if (month < monthNow) {
return true;
} else {
if (day >= dayNow) {
return false;
} else {
return true;
}
}
}
}
/
获取上周五时间
/
public Date lastFirday() {
//作用防止周日得到本周日期
Calendar calendar = CalendargetInstance();
while (calendarget(CalendarDAY_OF_WEEK) != CalendarMONDAY) {
calendaradd(CalendarDAY_OF_WEEK, -1);
}
int dayOfWeek = calendarget(CalendarDAY_OF_WEEK) - 1;
int offset = 7 - dayOfWeek;
calendaradd(CalendarDATE, offset - 9);
return DateTimeUtilgetFirstDayOfWeek(calendargetTime(), 6);//这是从上周日开始数的到本周五为6
}
/
获取上周一时间
/
public Date lastMonday() {
Calendar calendar = CalendargetInstance();
while (calendarget(CalendarDAY_OF_WEEK) != CalendarMONDAY) {
calendaradd(CalendarDAY_OF_WEEK, -1);
}
int dayOfWeek = calendarget(CalendarDAY_OF_WEEK) - 1;
int offset = 1 - dayOfWeek;
calendaradd(CalendarDATE, offset - 7);
return DateTimeUtilgetFirstDayOfWeek(calendargetTime(), 2);
}
以上就是关于java获得当前年月日全部的内容,包括:java获得当前年月日、在android中如何获取当前日期、Android Calendar获取日期问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)