
直接通过格式转换的形式即可。举例:
String str0 = "2015年07月05日";
Date d1 = new SimpleDateFormat("yyyy年MM月dd日")parse(str0);//定义起始日期
SimpleDateFormat sdf0 = new SimpleDateFormat("yyyy");
SimpleDateFormat sdf1 = new SimpleDateFormat("MM");
SimpleDateFormat sdf2= new SimpleDateFormat("dd");
String str1 = sdf0format(d1);
String str2 = sdf1format(d1);
String str3 = sdf2format(d1);
Systemoutprintln("年份为:"+str1);
Systemoutprintln("月份为:"+str2);
Systemoutprintln("日为:"+str3);
结果:
//CalendarTestjava
//Calendar对象能很好解决你的问题
import javautilCalendar;
public class CalendarTest {
public static void main(String[] args) {
Calendar c = CalendargetInstance();
int y=cget(CalendarYEAR);//年
int M = cget(CalendarMONTH)+1;//月,注意这里要加1,计算机第一个月从0开始
int d = cget(CalendarDATE);//日
Systemoutprintln("年:"+y);
Systemoutprintln("月:"+M);
Systemoutprintln("日:"+d);
String dateStr = "";
dateStr+=y+"-"+(M<10"0":"")+M+"-"+(d<10"0":"")+d;
Systemoutprintln(dateStr);
}
}
这个问题可以用两种方式得到:
方法一:在java中可以使用Date类直接获得,但是这个方法过时了,不推荐使用。
方法二:使用 javautilCalendar 类。
代码例子:
//方法1:虽然还可以用,但是已经不建议使用,已经过时。Date date = new Date();
int old_y = dategetYear()+1900;//得到年份。因为得到的是1900年后至今过了多少年,所以要加1900
int old_m = dategetMonth()+1;//因为得到的结果是0~11,故而加一。
int old_d = dategetDate();//得到月份中今天的号数
Systemoutprintln("现在是:"+old_y+"-"+old_m+"-"+old_d+"(使用过时方法)");//
//方法2:推荐使用
Calendar calendar = CalendargetInstance();
int now_y = calendarget(CalendarYEAR);//得到年份
int now_m = calendarget(CalendarMONTH)+1;//得到月份
int now_d = calendarget(CalendarDATE);//得到月份中今天的号数
int now_h = calendarget(CalendarHOUR_OF_DAY);//得到一天中现在的时间,24小时制
int now_mm = calendarget(CalendarMINUTE);//得到分钟数
int now_s = calendarget(CalendarSECOND);//得到秒数
Systemoutprintln("现在是:"+now_y+"-"+now_m+"-"+now_d+" "+now_h+":"+now_mm+":"+now_s+"(使用推荐方法)");
结果:
现在是:2015-11-9(使用过时方法)
现在是:2015-11-9 18:7:42(使用推荐方法)
第一种方法:
package cnywtest;
import javatextSimpleDateFormat;
import javautilDate;
public class DateTest {
public static void main(String[] args){
Date today = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
formatformat(today);
/输入日期/
Systemoutprintln(formatformat(today));
String datetime = formatformat(today);
//输入年
String year = datetimesubstring(0, datetimeindexOf("-"));
Systemoutprintln(year);
//输出月
String month = datetimesubstring(datetimeindexOf("-")+1, datetimelastIndexOf("-"));
Systemoutprintln(month);
//输出日
String day = datetimesubstring(datetimelastIndexOf("-")+1, datetimelength());
Systemoutprintln(day);
}
}
第二种方法:
Date today = new Date();
long time = todaygetTime();
Calendar calendar = CalendargetInstance();
calendarsetTimeInMillis(time);
//输出年
Systemoutprintln(calendarget(CalendarYEAR));
//输出月 :由于月份是从0开始的所以要加上1
Systemoutprintln(calendarget(CalendarMONTH+1));
//输出日
Systemoutprintln(calendarget(CalendarDAY_OF_MONTH));
希望能够帮助你解决问题
java语言 获得系统当前日期:
1、Date date=new Date();这个是java提供的时间类,可以从中取出,年、月日、时、分、秒
2、SimpleDateFormat这个是时间格式类,对时间进行格式化
String time=new SimpleDateFormat("HH:mm:ss")format(new Date())
time=15:02:03
String time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")format(new Date())
time=2015-05-26 15:02:03
3、SystemcurrentTimeMillis(),返回的是long型日期时间
long time=SystemcurrentTimeMillis();
time=352632563256;
其实系统默认的都是毫秒数的时间戳, 所以你想要的2017-01-16 17:00:00 不是提取的, 而是格式化的
new SimpleDateFormat("yyyy-MM-dd HH:00:00")format(SystemcurrentTimeMillis());
代码如下:
package comgracetest;
import javatextDateFormat;
import javatextParseException;
import javatextSimpleDateFormat;
import javautilCalendar;
import javautilDate;
public class showDate {
public static void main(String[] args) throws ParseException {
Date d = new Date();
String s = null;
/ 输出格式: Mon May 05 15:23:58 CST 2014 /
Systemoutprintln(d);
/ 输出格式: 2014-5-5 /
s = DateFormatgetDateInstance()format(d);
Systemoutprintln(s);
/ 输出格式: 2014-5-5 /
s = DateFormatgetDateInstance(DateFormatDEFAULT)format(d);
Systemoutprintln(s);
/ 输出格式: 2014年5月5日 星期一 /
s = DateFormatgetDateInstance(DateFormatFULL)format(d);
Systemoutprintln(s);
/ 输出格式: 2014-5-5 /
s = DateFormatgetDateInstance(DateFormatMEDIUM)format(d);
Systemoutprintln(s);
/ 输出格式: 14-5-5 /
s = DateFormatgetDateInstance(DateFormatSHORT)format(d);
Systemoutprintln(s);
/ 输出格式: 2014-5-05 00:00:00 大写H为24小时制 /
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
s = sdfformat(d);
Systemoutprintln(s);
/ 输出格式: 2014-5-05 00:00:00 小写h为12小时制 /
DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
s = sdf2format(d);
Systemoutprintln(s);
/ 输出格式: 20140505000000 /
DateFormat sdf3 = new SimpleDateFormat("yyyyMMddHHmmss");
s = sdf3format(d);
Systemoutprintln(s);
/ 字符串转换城日期格式 /
s = sdfformat(d);
Date today = sdfparse(s);
Systemoutprintln("字符串转成日期1:" + today);
Systemoutprintln("字符串转成日期2:" + sdfformat(today));
/ 单独输出年月日时分秒等 /
Calendar c = CalendargetInstance();
Systemoutprintln("年: " + cget(CalendarYEAR));
// 月份从0开始,加1校正
Systemoutprintln("月: " + (cget(CalendarMONTH) + 1) + "");
Systemoutprintln("日: " + cget(CalendarDAY_OF_MONTH));
Systemoutprintln("时: " + cget(CalendarHOUR_OF_DAY));
Systemoutprintln("分: " + cget(CalendarMINUTE));
Systemoutprintln("秒: " + cget(CalendarSECOND));
Systemoutprintln("当前时间毫秒数:" + cgetTimeInMillis());
Systemoutprintln("当前时间: " + cgetTime());
}
}
下面这段代码演示了从日期到规定格式的字符串,在从规定格式的字符串到日期的 *** 作,希望有所帮助
public class DateTransfer {
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");// 日期格式
Date date = new Date();// 获取当前时间的的Date对象
Systemerrprintln(date);
String now = dfformat(date);// 将date转化为规定格式的字符串
Systemerrprintln(now);
Date newDate = new Date();// 新的Date对象
try {
newDate = dfparse(now);// 将字符串转化为Date类型
} catch (ParseException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
Systemerrprintln(newDate);// 打印验证
}
}
以上就是关于java 有个时间是yyyy年MM月dd日中如何提取出单独的年,月,日全部的内容,包括:java 有个时间是yyyy年MM月dd日中如何提取出单独的年,月,日、JAVA 如何单独取得"年","月","日"...、如何用java取得年,月,日,时,分,秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)