java 有个时间是yyyy年MM月dd日中如何提取出单独的年,月,日

java 有个时间是yyyy年MM月dd日中如何提取出单独的年,月,日,第1张

直接通过格式转换的形式即可。举例:

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取得年,月,日,时,分,秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存