楼上正解,不过楼主问出这个问题可能也是初学者,我就提供一下用简单语法的代码吧
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月等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)