「java得到几号」java获得日期
本篇文章给大家谈谈java得到几号,以及java获得日期对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中如何根据某一周(比如22周)获取这一周是几月几号,星期几。有这样的函数方法吗?
- 2、在java中,从页面传过来一个月份(比如5月),如何获取5月1号和4月1号?
- 3、如何用java取得年,月,日,时,分,秒?
- 4、java中如何求出2008年的第1星期星期一是几号?
- 5、java calendar得到月份几号
java中如何根据某一周(比如22周)获取这一周是几月几号,星期几。有这样的函数方法吗?
我的程序是输入某年某周,输出这一周的开始日期和结束时期,不知是否符合你的需要。至少Java是不直接提供这种方法的。
import java.util.*;
public class Test31 {
public static void main(String[] args) {
int year, year1, year2, month1, month2, day1, day2, week, sum = 0;
int[] days = new int[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int i;
Scanner scan = new Scanner(System.in);
System.out.print("年:");
year = scan.nextInt();
System.out.print("周次:");
week = scan.nextInt();
if (year 0) {
System.out.println("年份错误,必须大于等于0");
return;
}
if (week 1 || week 54) {
System.out.println("周次错误,必须位于 1 .. 53 之间");
return;
}
sum += 7 * (week - 1);
//修正总天数
Calendar c = Calendar.getInstance();
c.set(year, 0, 1);
switch (c.get(Calendar.DAY_OF_WEEK))
{
case Calendar.TUESDAY:
{
sum -= 1;
break;
}
case Calendar.WEDNESDAY:
{
sum -= 2;
break;
}
case Calendar.THURSDAY:
{
sum -= 3;
break;
}
case Calendar.FRIDAY:
{
sum -= 4;
break;
}
case Calendar.SATURDAY:
{
sum -= 5;
break;
}
case Calendar.SUNDAY:
{
sum -= 6;
break;
}
default:
break;
}
if ((year % 400 == 0) || (year % 4 == 0 year % 100 != 0)) {
days[1] = 29;
}
for (i = 0; i days.length; i++) {
if (sum = days[i]) {
sum -= days[i];
}
else {
break;
}
}
year1 = year;
month1= i + 1;
day1 = sum + 1;
//修改开始日期
if (day1 1) {
day1 += days[11];
month1 = 12;
year1--;
}
year2 = year1;
month2 = month1;
day2 = day1 + 6;
if (day2 days[month1 - 1]) {
day2 -= days[month1 - 1];
month2++;
if (month2 12) {
month2 = 1;
year2++;
}
}
System.out.printf("%d年第%d周 : %d年%d月%d日 ~ %d年%d月%d日", year, week, year1, month1, day1, year2, month2, day2);
}
}
输出测试:
年:2011
周次:22
2011年第22周 : 2011年5月23日 ~ 2011年5月29日
年:2011
周次:1
2011年第1周 : 2010年12月27日 ~ 2011年1月2日
这是从星期一至星期日。
也可以这样:
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.print("年:");
int year = scan.nextInt();
System.out.print("周:");
int week = scan.nextInt();
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, 1);
c.set(Calendar.WEEK_OF_YEAR, week);
//该周第一天(星期日)所在的日期
int y1 = c.get(Calendar.YEAR);
int m1 = c.get(Calendar.MONTH) + 1;
int d1 = c.get(Calendar.DATE);
c.add(Calendar.DATE, 6);
//该周最后一天(星期六)所在的日期
int y2 = c.get(Calendar.YEAR);
int m2 = c.get(Calendar.MONTH) + 1;
int d2 = c.get(Calendar.DATE);
System.out.printf("%d年第%d周:%d-%d-%d ~ %d-%d-%d", year, week, y1, m1, d1, y2, m2, d2);
}
这是从星期日开始,如:
年:2011
周:22
2011年第22周:2011-5-22 ~ 2011-5-28
在java中,从页面传过来一个月份(比如5月),如何获取5月1号和4月1号?
用日期操作类Calendar就可以的。
5月1号获取第一天
Calendar cal = new GregorianCalendar();
cal.set(Calendar.DATE, day);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.YEAR, year);
cal.set(Calendar.DAY_OF_MONTH, 1);
获取4月1号:
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.YEAR, year);
cal.set(Calendar.DAY_OF_MONTH, 1);
如何用java取得年,月,日,时,分,秒?
这个问题可以用两种方式得到:
方法一:在java中可以使用Date类直接获得,但是这个方法过时了,不推荐使用。
方法二:使用 java.util.Calendar 类。
代码例子:
//方法1:虽然还可以用,但是已经不建议使用,已经过时。
Date date = new Date();
int old_y = date.getYear()+1900;//得到年份。因为得到的是1900年后至今过了多少年,所以要加1900
int old_m = date.getMonth()+1;//因为得到的结果是0~11,故而加一。
int old_d = date.getDate();//得到月份中今天的号数
System.out.println("现在是:"+old_y+"-"+old_m+"-"+old_d+"(使用过时方法)");//
//方法2:推荐使用
Calendar calendar = Calendar.getInstance();
int now_y = calendar.get(Calendar.YEAR);//得到年份
int now_m = calendar.get(Calendar.MONTH)+1;//得到月份
int now_d = calendar.get(Calendar.DATE);//得到月份中今天的号数
int now_h = calendar.get(Calendar.HOUR_OF_DAY);//得到一天中现在的时间,24小时制
int now_mm = calendar.get(Calendar.MINUTE);//得到分钟数
int now_s = calendar.get(Calendar.SECOND);//得到秒数
System.out.println("现在是:"+now_y+"-"+now_m+"-"+now_d+" "+now_h+":"+now_mm+":"+now_s+"(使用推荐方法)");
结果:
现在是:2015-11-9(使用过时方法)
现在是:2015-11-9 18:7:42(使用推荐方法)
java中如何求出2008年的第1星期星期一是几号?
package test;
import java.util.Calendar;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int year;
int week;
int day;
Scanner sc = new Scanner(System.in);
System.out.print("输入年:");
year = sc.nextInt();
System.out.print("本年第几周:");
week = sc.nextInt();
System.out.print("周几:");
day = sc.nextInt();
Calendar ca = Calendar.getInstance();
ca.set(Calendar.YEAR, year);
ca.set(Calendar.WEEK_OF_YEAR, week);
ca.set(Calendar.DAY_OF_WEEK, day+1);
System.out.println("这一天是:" + (ca.get(Calendar.MONTH) + 1) + "月" + ca.get(Calendar.DAY_OF_MONTH) + "号。");
}
}
java calendar得到月份几号
您好,提问者:
java.text.SimpleDateFormat sim = new java.text.SimpleDateFormat("yyyy-MM-dd")//改为这个格式。
java得到几号的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获得日期、java得到几号的信息别忘了在本站进行查找喔。
发布于:2022-12-20,除非注明,否则均为
原创文章,转载请注明出处。