JAVA里怎么得出一个月的第一天是星期几? JAVA输入月份求当月第一天是星期几?

\u6025\uff1a\u7528java\u5982\u4f55\u5f97\u5230\u5f53\u524d\u6708\u7684\u7b2c\u4e00\u5929\u662f\u661f\u671f\u51e0\uff1f

\u8fd9\u4e2a\u6bd4\u8f83\u7b80\u5355\uff0c4\u884c\u4ee3\u7801\u5c31\u884c

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
SimpleDateFormat format = new SimpleDateFormat("E");
System.out.println("\u672c\u6708\u7b2c\u4e00\u5929\u662f\uff1a" + format.format(calendar.getTime()));

\u5982\u679c\u4f60\u8981\u5f97\u5230\u4e00\u4e2a\u6570\u5b57\u7684\u8bdd\u5c31\u662f\uff1a
calendar.get(Calendar.DAY_OF_WEEK)\uff0c\u5f53\u7136\uff0c\u8fd9\u4e2a\u7ed3\u679c\u662f\u4ee5\u661f\u671f\u5929\u4e3a\u7b2c\u4e00\u5929\u7b97\u51fa\u6765\u7684\uff0c\u5982\u679c\u8981\u6362\u6210\u661f\u671f\u4e00\u5f00\u59cb\uff0c\u51cf1\u5c31\u884c\u4e86

\u5e0c\u671b\u80fd\u5e2e\u52a9\u4f60\u3002

\u7ed9\u4f60\u4e00\u4e2a\u4ee3\u7801\u5427\uff1a
import java.util.Scanner;

public class wnl {

/**
* @param args
*/
public static void main(String[] args) {
// TODO \u81ea\u52a8\u751f\u6210\u65b9\u6cd5\u5b58\u6839
int totalDay=0; //\u8ba1\u7b97\u603b\u5929\u6570
int dayOfWeek;//\u4fdd\u5b58\u5f53\u6708\u7b2c\u4e00\u5929\u662f\u661f\u671f\u51e0
int day=0 ; //\u5f53\u6708\u7684\u5929\u6570
int dayOfYear=0; //\u4fdd\u5b58\u7528\u6237\u8f93\u5165\u7684\u5e74\u6708\u4e4b\u524d\u7684\u5929\u6570
Scanner cs=new Scanner(System.in);
System.out.print("\u8bf7\u8f93\u5165\u5e74:");
int year=cs.nextInt();
System.out.print("\u8bf7\u8f93\u5165\u6708:");
int month=cs.nextInt();
boolean bool=false;
// \u5224\u65ad\u8f93\u5165\u7684\u5e74\u4efd\u662f\u5426\u662f\u95f0\u5e74\u5907\u7528
if(year%4==0&&year%100!=0||year%400==0){
bool=true;
}
// \u8ba1\u7b97\u51fa\u5230\u7528\u6237\u8f93\u5165\u7684\u5e74\u4efd1\u67081\u65e5\u4e4b\u524d\u7684\u603b\u5929\u6570
for(int i=1900;i<year;i++){
if(i%4==0&&i%100!=0||i%400==0){
totalDay+=366;
}else{
totalDay+=365;
}
}
for(int i=1;i<=month;i++){
switch(i){ //\u6839\u636e\u6708\u4e0d\u540c\u7ed9day\u8d4b\u503c\u8fdb\u884c\u8ba1\u7b97
case 1: //\u540c\u65f6day\u8fd8\u4f1a\u7528\u4e8e\u4fdd\u5b58\u5f53\u6708\u5929\u6570\u540e\u9762\u7684\u8f93\u51fa
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:day=31;break;
case 4:
case 6:
case 9:
case 11:day=30;break;
// \u6839\u636e\u662f\u5426\u95f0\u5e74\u6765\u51b3\u5b9a2\u6708\u591a\u5c11\u5929
case 2:if(bool){
day=29;
break;
}else{
day=28;
break;
}
//\u5728\u83b7\u5f97\u8f93\u5165\u6708\u4efd\u4e4b\u524d\u6240\u6709\u5929\u6570\u7684\u540c\u65f6
//\u8fd8\u83b7\u5f97\u4e86\u8f93\u5165\u6708\u4efd\u7684\u5929\u6570\u5907\u7528
}
if(i<month){
dayOfYear+=day;//\u628a\u7528\u6237\u8f93\u5165\u7684\u6708\u4efd\u4e4b\u524d\u7684\u6240\u6709\u5929
} //\u6570\u8fdb\u884c\u52a0\u5408
}
//\u5c06\u672c\u5e74\u7684\u5929\u6570\u52a0\u5728\u4e4b\u524d\u8ba1\u7b97\u7684\u603b\u5929\u6570\u4e0a
totalDay+=dayOfYear;
// \u628a\u603b\u5929\u6570\u5bf97\u53d6\u4f59\u8ba1\u7b97\u51fa\u5f53\u6708\u7b2c\u4e00\u5929\u662f\u661f\u671f\u51e0
dayOfWeek=(1+totalDay)%7;

System.out.println("\u661f\u671f\u5929\t\u661f\u671f\u4e00\t\u661f\u671f\u4e8c\t\u661f\u671f\u4e09\t\u661f\u671f\u56db\t\u661f\u671f\u4e94\t\u661f\u671f\u516d");
// \u8f93\u51fa\u7a7a\u683c
for(int i=0;i<dayOfWeek;i++){
System.out.print("\t");
}
for(int i=1;i<=day;i++){
//\u63a7\u5236\u6bcf\u5230\u661f\u671f6\u5c31\u6362\u884c
//\u539f\u7406\u4e3a\u603b\u5929\u6570\u52a0\u4e0a\u5f53\u6708\u5929\u6570\u5bf97\u53d6\u4f59
if((totalDay+i)%7==6){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
}
}
}

看Calender类的API有可以用的方法,

Calendar rightNow = Calendar.getInstance();
rightNow.set(2007, 4, 1);
System.out.println(rightNow.DAY_OF_WEEK);
输出7 说明2007年4月1日是星期日

只要知道上个月30或31是星期几就行了!!!

楼上,System.out.println(rightNow.DAY_OF_WEEK);
输出7 说明2007年4月1日是星期日,输出7说明是星期六?
DAY_OF_WEEK是从 1:星期日->2:星期一->..->-7:星期六

  • 鍦java涓浣閫氳繃涓涓鏈堜唤,鑾峰緱璇ユ湀浠鐨勭涓澶╃殑鏃ユ湡?
    绛旓細import java.util.Locale;public class Test { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(Locale.CHINA);calendar.setTime(new Date());// 璁剧疆褰撳墠鏃ユ湡 int day = calendar.getMinimum(Calendar.DAY_OF_MONTH);// 鍙栧緱褰撳墠鏈堢殑鏈灏忔棩鏈(澶)calendar.set...
  • Java涓庝箞鑾峰彇涓涓湀鐨勭鍑犲懆鐨勬墍鏈夋棩鏈熷晩?姣斿璇存垜瑕佽幏鍙涓鏈堢殑绗竴...
    绛旓細package com.calender;import java.util.Calendar;import java.util.Locale;/ 杈撳嚭鏌愬懆鐨勬棩鏈.婕旂ずCalendar鐨勭敤娉.Calendar鐨勪娇鐢ㄤ竴鑸垎2姝,1.纭畾鏌愬ぉ, 璋冪敤set鍑芥暟 2.鍙互鍙栧嚭璇ュぉ鐨勪换鎰忎俊鎭, 閫氳繃get鍑芥暟.author: zhuby create date:2011-1-17 / public class WeekCalendar { / 鍛ㄨ鏁,涓哄叏骞翠腑...
  • java鎬庝箞寰楀埌鏌涓湀鐨勭涓澶╁拰鏈鍚庝竴澶╃殑鏃ユ湡,浠2012-06涓轰緥
    绛旓細public class DateUtil { /** * 鑾峰彇缁欏畾鏃堕棿鎵鍦ㄥ懆鐨勭涓澶(Sunday)鐨勬棩鏈熷拰鏈鍚庝竴澶(Saturday)鐨勬棩鏈 * * @param calendar * @return Date鏁扮粍锛孾0]涓虹涓澶╃殑鏃ユ湡锛孾1]鏈鍚庝竴澶╃殑鏃ユ湡 */ public Date[] getWeekStartAndEndDate(Calendar calendar) { Date[] dates = ...
  • JAVA閲屾庝箞寰楀嚭涓涓湀鐨勭涓澶╂槸鏄熸湡鍑?
    绛旓細鐪婥alender绫荤殑API鏈夊彲浠ョ敤鐨勬柟娉曪紝濡 Calendar rightNow = Calendar.getInstance();rightNow.set(2007, 4, 1);System.out.println(rightNow.DAY_OF_WEEK);杈撳嚭7 璇存槑2007骞4鏈1鏃ユ槸鏄熸湡鏃
  • java 鎬庝箞鑾峰彇涓涓湀鐨鏃ユ湡
    绛旓細Calendar.getInstance();cl.set(year, month, 1);int firstDay = cl.getMinimum(Calendar.DAY_OF_MONTH);int lastDay = cl.getMaximum(Calendar.DAY_OF_MONTH);int[] day = new int[lastDay];for (int i = 0; i < lastDay; i++) {day[i] = i + firstDay;}return day;} ...
  • java 鎬庢牱寰楀埌 begintime=鈥濇湰骞绗竴涓湀鐨勭涓澶 endtime=鈥濇湰骞存渶 ...
    绛旓細Calendar.DAY_OF_YEAR, 1);//鏈勾绗竴澶 System.out.println(sdf.format(c.getTime()));c = Calendar.getInstance();c.add(Calendar.YEAR, 1);c.set(Calendar.DAY_OF_YEAR, 1);//鏈勾鏈鍚庝竴澶 c.add(Calendar.DAY_OF_YEAR, -1);System.out.println(sdf.format(c.getTime()));
  • JAVA 鏃ユ湡绫诲瀷鏄疭tring YYYYMM鍙栦笅涓涓湀鐨勭涓澶
    绛旓細package test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class YuGiOh{private static String convert ( String source ){try{SimpleDateFormat sdf = new SimpleDateFormat ("yyyyMM");SimpleDateFormat sdf2 = new ...
  • 鍏充簬java涓浣鑾峰彇褰撳墠骞翠唤鐨勭涓澶╁拰鏈鍚庝竴澶
    绛旓細package com.dada.test;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * @author li_yueling * @version 1.0 2011-03-25 * */public class DateUtil {/** * 榛樿鏃ユ湡鏍煎紡 */public static String DEFAULT_FORMAT = "yyyy-MM-dd";/** * 娴嬭瘯涓...
  • java鐢ㄦ椂闂存帶浠舵樉绀涓涓湀鐨鍑犱釜鍛,鎬!!!
    绛旓細Date date = new Date();date = gregorianCalendar.getTime();System.out.println(date.toString());String [] str = date.toString().split(" ");int day = Integer.parseInt(str[2]);System.out.println(day);System.out.println("浠婂ぉ鏄繖涓鏈堢殑绗 " + (day / 7 + 1) + " 鍛");...
  • java鏂规硶,濡備綍绠楀嚭鏌涓涓湀鐨鏃ユ湡,姣斿璇9鏈堜唤,灏卞彲浠ュ惂1鍙峰埌30鍙...
    绛旓細{ public static void main(String[] args) { Calendar calendar = Calendar.getInstance();if (calendar instanceof GregorianCalendar)System.out.println("It is an instance of GregorianCalendar"t;} } Calendar 鍦 Java 涓鏄涓涓鎶借薄绫(Abstract Class)锛孏regorianCalendar 鏄畠鐨勪竴涓叿浣撳疄鐜般傛垜浠...
  • 扩展阅读:为什么都不建议java转测试 ... 学java为什么27岁就迟了 ... c++和java哪个好就业 ... 一个初中生学java要多久 ... 学java一般能干什么 ... java获取上个月的日期 ... 程序员一般要学多久 ... 比较日期java程序 ... js获取当前时间yyyymmss ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网