java获得当前年月日

java获得当前年月日,第1张

很多朋友都想知道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

Android中获取系统时间和日期,星期代码如下:

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获取日期问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9572470.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存