java 获取某月份的具体天数

java 获取某月份的具体天数,第1张

楼上正解,不过楼主问出这个问题可能也是初学者,我就提供一下用简单语法的代码吧

public

static

void

main(String[]

args)

{

Scanner

scan=new

Scanner(Systemin);

Systemoutprintln("请输入年份");

int

year=

scannextInt();//得到需求年份

Systemoutprintln("请输入月份");

int

month=scannextInt();//得到需求月份

switch(month){

case

1:

case

3:

case

5:

case

7:

case

8:

case

10:

case

12:

Systemoutprintln(year+"年"+month+"月的天数为:"+31);

break;

case

4:

case

6:

case

9:

case

11:

Systemoutprintln(year+"年"+month+"月的天数为:"+30);

case

2:

if((year%400)==0

||

((year%4)==0)&&((year%100)!=0)){

Systemoutprintln(year+"年2月的天数为:"+29);

}else{

Systemoutprintln(year+"年2月的天数为:"+28);

}

}

}

public static void main(String[] args) {

Calendar calendar = CalendargetInstance(LocalegetDefault());

Systemoutprintln(calendarget(CalendarYEAR));

Systemoutprintln(calendarget(CalendarMONTH)+1);

Systemoutprintln(calendarget(CalendarDATE));

}

3行代码分别用于获取当前时间的年、月、日,获取月份的时候需要+1,因为月份取的索引值,从0-11

java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用dateformat类或者simpledateformat类来判断是否是正确的日期格式。下面的例子供参考。更详细的内容(比如yyyy,mm,dd各代表什么)可以参考javadoc。

public

class

dateutil

{

private

static

final

simpledateformat

dateformat

=

null;

static

{

//

指定日期格式为四位年/两位月份/两位日期,注意yyyy/mm/dd区分大小写;

dateformat

=

new

simpledateformat("yyyy/mm/dd");

//

设置lenient为false

否则simpledateformat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01

dateformatsetlenient(false);

}

public

static

boolean

isvaliddate(string

s)

{

try

{

dateformatparse(s);

return

true;

}

catch

(exception

e)

{

//

如果throw

javatextparseexception或者nullpointerexception,就说明格式不对

return

false;

}

}

//

下面这个方法则可以将一个日期按照你指定的格式输出

public

static

string

formatdate(date

d)

{

return

dateformatformat(d);

}

}

很多朋友都想知道java怎么获取随机数?下面就一起来了解一下吧~

Java中的随机数的有三种产生方式:

(01) 通过SystemcurrentTimeMillis()来获取一个当前时间毫秒数的long型数字。

(02) 通过Mathrandom()返回一个0到1之间的double值。

(03) 通过Random类来产生一个随机数。

第1种

通过SystemcurrentTimeMillis()来获取随机数。实际上是获取当前时间毫秒数,它是long类型。使用方法如下:

final long l = SystemcurrentTimeMillis();

若要获取int类型的整数,只需要将上面的结果转行成int类型即可。比如,获取[0, 100)之间的int整数。方法如下:

final long l = SystemcurrentTimeMillis();final int i = (int)( l % 100 );

第2种

通过Mathrandom()来获取随机数。实际上,它返回的是0(包含)到1(不包含)之间的double值。使用方法如下:

final double d = Mathrandom();

若要获取int类型的整数,只需要将上面的结果转行成int类型即可。比如,获取[0, 100)之间的int整数。方法如下:

final double d = Mathrandom();final int i = (int)(d100);

第3种

通过Random类来获取随机数。

使用方法如下:

(01) 创建Random对象。有两种方法可以创建Random对象,如下:

Random random = new Random();//默认构造方法Random random = new Random(1000);//指定种子数字

(02) 通过Random对象获取随机数。Random支持的随机值类型包括:boolean, byte, int, long, float, double。

比如,获取[0, 100)之间的int整数。方法如下: int i2 = randomnextInt(100);

第一种解决办法:

public static void main(String[] args) {

String str = "2013-07-21 12:13";

str = strreplaceAll(" ", "-")replaceAll(":", "-");

String strs[] = strsplit("-");

for (int i = 0; i < strslength; i++) {

Systemoutprintln(strs[i]);

}

}

刚想写另外一种,被楼上兄台写了。。。

import javautilCalendar;

public class Du {

public static void main(String[] args) {

String date = "2011-01-12";

int[] daysInMonth = getMonthDays(date);

for(int value: daysInMonth){

Systemoutprint(value + " ");

}

}

private static int[] getMonthDays(String date) {

Calendar calendar = CalendargetInstance();

calendarset(CalendarYEAR, IntegerparseInt(datesubstring(0, 4)));

calendarset(CalendarMONTH, IntegerparseInt(datesubstring(5, 7)) -1);

int maxDay = calendargetActualMaximum(CalendarDAY_OF_MONTH);

int[] days = new int[maxDay];

for(int i = 1; i <= maxDay; i++){

days[i-1] = i;

}

return days;

}

}

-----------------

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

以上就是关于java 获取某月份的具体天数全部的内容,包括:java 获取某月份的具体天数、java获取当前时间几天/月/年前的时间方法、java的date类,得到两位月份的方法如01月等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9639172.html

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

发表评论

登录后才能评论

评论列表(0条)

保存