![[Java]如何获取年份~,第1张 [Java]如何获取年份~,第1张](/aiimages/%5BJava%5D%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E5%B9%B4%E4%BB%BD%7E.png)
GregorianCalendar类中的get()方法,导入Calendar和GregorianCalendar这两个类。
参考代码如下:
import javautilCalendar;
import javautilGregorianCalendar;
public class demo {
private int year;//年份
public demo() {//构造器
year=0;
}
public int test(){//获得年份
GregorianCalendar g=new GregorianCalendar();
year=(int)gget(CalendarYEAR);
return year;
}
public static void main(String[] args) {
demo d = new demo();
Systemoutprint(dtest());
}
}
这个得用Calendar类
首先获取现在的日期 Calendar mycalendar=CalendargetInstance();//获取现在时间
String 年=StringvalueOf(mycalendarget(CalendarYEAR));//获取年份
// 用文本框输入年龄
int age=text1getText()parseInt();
int birth=年parseInt()-age;
Systemoutprintln("birth"年出生);
有两种方法:
方法一:用javautilDate类来实现,并结合javatextDateFormat类来实现时间的格式化,看下面代码:
mport javautil;import javatext;
//以下默认时间日期显示方式都是汉语语言方式
//一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53
//以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2java
public class TestDate {
public static void main(String[] args) {
Date now = new Date();
DateFormat d1 = DateFormatgetDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53)
String str1 = d1format(now);
DateFormat d2 = DateFormatgetDateTimeInstance();
String str2 = d2format(now);
DateFormat d3 = DateFormatgetTimeInstance();
String str3 = d3format(now);
DateFormat d4 = DateFormatgetInstance(); //使用SHORT风格显示日期和时间
String str4 = d4format(now);
DateFormat d5 = DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL); //显示日期,周,时间(精确到秒)
String str5 = d5format(now);
DateFormat d6 = DateFormatgetDateTimeInstance(DateFormatLONG,DateFormatLONG); //显示日期。时间(精确到秒)
String str6 = d6format(now);
DateFormat d7 = DateFormatgetDateTimeInstance(DateFormatSHORT,DateFormatSHORT); //显示日期,时间(精确到分)
String str7 = d7format(now);
DateFormat d8 = DateFormatgetDateTimeInstance(DateFormatMEDIUM,DateFormatMEDIUM); //显示日期,时间(精确到分)
String str8 = d8format(now);//与SHORT风格相比,这种方式最好用
Systemoutprintln("用Date方式显示时间: " + now);//此方法显示的结果和CalendargetInstance()getTime()一样
Systemoutprintln("用DateFormatgetDateInstance()格式化时间后为:" + str1);
Systemoutprintln("用DateFormatgetDateTimeInstance()格式化时间后为:" + str2);
Systemoutprintln("用DateFormatgetTimeInstance()格式化时间后为:" + str3);
Systemoutprintln("用DateFormatgetInstance()格式化时间后为:" + str4);
Systemoutprintln("用DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL)格式化时间后为:" + str5);
Systemoutprintln("用DateFormatgetDateTimeInstance(DateFormatLONG,DateFormatLONG)格式化时间后为:" + str6);
Systemoutprintln("用DateFormatgetDateTimeInstance(DateFormatSHORT,DateFormatSHORT)格式化时间后为:" + str7);
Systemoutprintln("用DateFormatgetDateTimeInstance(DateFormatMEDIUM,DateFormatMEDIUM)格式化时间后为:" + str8);
}
}
运行结果:
用Date方式显示时间: Thu Sep 17 09:39:46 CST 2015
用DateFormatgetDateInstance()格式化时间后为:2015-9-17
用DateFormatgetDateTimeInstance()格式化时间后为:2015-9-17 9:39:46
用DateFormatgetTimeInstance()格式化时间后为:9:39:46
用DateFormatgetInstance()格式化时间后为:15-9-17 上午9:39
用DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL)格式化时间后为:2015年9月17日 星期四 上午09时39分46秒 CST
用DateFormatgetDateTimeInstance(DateFormatLONG,DateFormatLONG)格式化时间后为:2015年9月17日 上午09时39分46秒
用DateFormatgetDateTimeInstance(DateFormatSHORT,DateFormatSHORT)格式化时间后为:15-9-17 上午9:39
用DateFormatgetDateTimeInstance(DateFormatMEDIUM,DateFormatMEDIUM)格式化时间后为:2015-9-17 9:39:46
方法二:用javautilCalendar类来实现,看下面:
import javautil;import javatext;
//以下是利用Calendar类来实现日期时间的,和Date类相比较比较简单
public class TestDate2 {
public static void main(String[] args) {
Calendar ca = CalendargetInstance();
int year = caget(CalendarYEAR);//获取年份
int month=caget(CalendarMONTH);//获取月份
int day=caget(CalendarDATE);//获取日
int minute=caget(CalendarMINUTE);//分
int hour=caget(CalendarHOUR);//小时
int second=caget(CalendarSECOND);//秒
int WeekOfYear = caget(CalendarDAY_OF_WEEK);
Systemoutprintln("用CalendargetInstance()getTime()方式显示时间: " + cagetTime());
Systemoutprintln("用Calendar获得日期是:" + year +"年"+ month +"月"+ day + "日");
Systemoutprintln("用Calendar获得时间是:" + hour +"时"+ minute +"分"+ second +"秒");
Systemoutprintln(WeekOfYear);//显示今天是一周的第几天(我做的这个例子正好是周二,故结果显示2,如果你再周6运行,那么显示6)
}
}
运行结果是:
用CalendargetInstance()getTime()方式显示时间: Thu Sep 17 09:40:40 CST 2015
用Calendar获得日期是:2015年8月17日
用Calendar获得时间是:9时40分40秒
5
总结:中的来说,方法二是最方便的,方法一显得分笨拙,不过看个人喜欢了。
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date dt = new Date();
fxsetDate(dfparse(dfformat(dt)));
不过这样做有一个问题就是,即使前面将Date型格式化,存到实体类型里的Date仍然不带有格式,直接打印实体的Date型会默认直接调用Date类的toString方法,而Date类的toString方法默认格式是dow mon dd hh:mm:ss zzz yyyy,所以打出的格式会与你想存入的不符合,其实就相当于直接将dt存入了实体中。如果想取出带格式的除非再进行转化,否则得话还是建议把属性改成String型的。
import javatextSimpleDateFormat;
import javautilDate;
public class Test {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
Date date = new Date();
String formatDate = sdfformat(date);
Systemoutprintln("格式化后的年份为:" + formatDate);
}
}
你不是有Birthday类了吗,比如有个Person的对象P
PgetBirthday()getYear();
你在定义Person类时必须定义birthday的get()方法,在定义Birthday时必须定义get()方法,前提你的属性都是private的
如果是公有的那好说了PBirthdayyear;
没有写toString方法,自己去写吧,即然你定义了一个Birthday类,那么它就跟String,int一样可以拿出来当类型使用的啊
public Person(){
private String name;
private Birthday birthday;
Person(String name,Birthday birthday){
thisname=name;
thisbirthday=birthday;}
public int getName(){
return thisname;
}
public void setName(String name){
thisname=name;
return name;
}
public int getBirthday(){
return thisbirthday;
}
public void setName(Birthday birthday){
thisbirthday=birthday;
return birthday;
}
}
以上就是关于[Java]如何获取年份~全部的内容,包括:[Java]如何获取年份~、在java中,根据年龄,计算出生年份。比如:23岁,1990年出生、java 如何获取系统运行时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)