導航:首頁 > 編程語言 > java計算日期的星期幾

java計算日期的星期幾

發布時間:2022-08-09 02:12:15

java計算求某年某月某日是星期幾

可以通過日歷中DAY_OF_WEEK 方法進行星期幾獲取:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Calendar;
import java.util.Date;

public class DateTest {

public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String dateStr;
try {
System.out.println("請按照2012-1-1格式輸入日期:");
dateStr = br.readLine();
Calendar calendar = Calendar.getInstance();
java.text.SimpleDateFormat formt = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
Date date = formt.parse(dateStr);
calendar.setTime(date);
System.out.println("今天星期" + calendar.get(Calendar.DAY_OF_WEEK + 1));
System.out.println("今天是" + calendar.get(Calendar.YEAR) + "年的第"
+ calendar.get(Calendar.DAY_OF_YEAR) + "天");
} catch (Exception e) {
e.printStackTrace();
}
}
}

❷ java程序 輸入年月日算星期幾

沒必要那麼麻煩,即使不用Calendar也可以用Date啊,雖然已經不被鼓勵使用了
Date date = new Date() ;
date.setYear(n) ;
date.setMonth(y+1) ;
date.setDate(t) ;
System.out.println(date.getDay()+1) ;
e = date.getDay()+1 ;
這樣直接就獲取是星期幾了,e就是星期幾
如果你實在是想練習一下switch的話,main函數我改了,以下:
public static void main( String[] args )
{
int d , n , y , t , x , e , a ;
n = Integer.parseInt(JOptionPane.showInputDialog("請輸入年號")) ;
y = Integer.parseInt(JOptionPane.showInputDialog("請輸入月份")) ;
t = Integer.parseInt(JOptionPane.showInputDialog("請輸入幾號")) ;
d = n + (n - 1) / 4 - (n - 1) / 100 + (n - 1) / 400 ;
if ( n % 4 == 0 )
a = 28 ;
else
a = 29 ;
switch (y)
{
case 1 :
x = t - 1 ;
break ;
case 2 :
x = t + 30 ;
break ;
case 3 :
x = a + t + 30 ;
break ;
case 4 :
x = a + t + 31 + 30 ;
break ;
case 5 :
x = a + t + 31 + 30 + 30 ;
break ;
case 6 :
x = a + t + 31 + 30 + 31 + 30 ;
break ;
case 7 :
x = a + t + 31 + 30 + 31 + 30 + 30 ;
break ;
case 8 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 ;
break ;
case 9 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 ;
break ;
case 10 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 ;
break ;
case 11 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 + 31 ;
break ;
case 12 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 + 30 + 31 ;
break ;
default :
x = 0 ;
break ;
}
e = (d + x) % 7 ;
if ( e == 0 )
JOptionPane.showMessageDialog(null, "這天是星期天") ;
if ( !(e == 0) )
JOptionPane.showMessageDialog(null, "這天是星期" + e) ;
}

❸ java課程設計以界面方式輸入一個日期,計算是星期幾,求大神,謝謝!

給你參考一個我們老師之前寫過的一個代碼 ,測試沒有問題。程序中有注釋,可以看看,不懂的可以給我消息。
import javax.swing.JOptionPane;

public class DateTest {

/**
* @param args
*/
//上面是非閏年的,下面是閏年的每個月的天數
其實每次遇到不會的都來求助是很不方便的
如果你想了解和學習更多的JAVA編程,成為一名真正的JAVA高手,你可以來這個裙,前面三個數是四二六 中間是三九六 後面是二八四
把這串數字連起來就可以了,這是一個高手的學習裙,在這里你可以學習到書上學不到的知識,還有大牛相互討論並指導你解答哦!

static int M[]={31,28,31,30,31,30,31,31,30,31,30,31};
static int M1[]={31,29,31,30,31,30,31,31,30,31,30,31};

static int year = 0;
static int month = 0;
static int day = 0;
static int sum_day = 0;

public static void main(String[] args) {
// TODO Auto-generated method stub
String date=JOptionPane.showInputDialog(null,"請輸入日期YYYY-MM-DD:","是星期幾?",JOptionPane.PLAIN_MESSAGE);

//2007-01-01是星期一,選擇2007就是因為他的第一天是星期一。
//先計算輸入的日期和2007年1月1日的差距天數

//將輸入的信息的年月日信息提取出來
String arr[] = date.split("-");
year = Integer.parseInt(arr[0]);
month = Integer.parseInt(arr[1]);
day = Integer.parseInt(arr[2]);

//如果是2007年之後的
if(year>2007)
{
int i;
for(i=2007;i<year;i++)
{
if(check(i))
sum_day += 366;
else sum_day += 365;
}
comCurYear(year,0);
}
else if(year==2007)
{
comCurYear(year,0);
}
else//2007年之前的
{
int i;
for(i=2006;i>year;i--)
{
if(check(i))
sum_day += 366;
else sum_day += 365;
}
comCurYear(year,1);
}
//由於只有7個我就全部輸出來了。沒有用數組來判斷。
int temp = sum_day%7;
if(temp==1)
JOptionPane.showMessageDialog(null,year+"年"+month+"月"+day+"日是星期一");
if(temp==2)
JOptionPane.showMessageDialog(null,year+"年"+month+"月"+day+"日是星期二");
if(temp==3)
JOptionPane.showMessageDialog(null,year+"年"+month+"月"+day+"日是星期三");
if(temp==4)
JOptionPane.showMessageDialog(null,year+"年"+month+"月"+day+"日是星期四");
if(temp==5)
JOptionPane.showMessageDialog(null,year+"年"+month+"月"+day+"日是星期五");
if(temp==6)
JOptionPane.showMessageDialog(null,year+"年"+month+"月"+day+"日是星期六");
if(temp==0)
JOptionPane.showMessageDialog(null,year+"年"+month+"月"+day+"日是星期日");
}

//檢驗一年是不是閏年
public static boolean check(int Y)
{
if(Y%400==0) return true;
else if(Y%4==0&&Y%100!=0) return true;
else return false;
}
public static void comCurYear(int Y,int flag)
{
int year_flag=0;
if(check(Y)) year_flag=1;

int k;
if(flag==0)//year>=2007
{
for(k=1;k<=12;k++)
{
if(k<month)
{
if(year_flag==1) //閏年
{
sum_day += M1[k-1];
}
else sum_day += M[k-1];
}
else if(k==month) sum_day += day;
else if(k>month) break;
}
}
if(flag==1)//year<2007
{
for(k=12;k>=1;k--)
{
if(k>month)
{
if(year_flag==1) //閏年
{
sum_day += M1[k-1];
}
else sum_day += M[k-1];
}
else if(k==month) //閏年
{
if(year_flag==1)
{
sum_day += M1[k-1]-day;
}
else sum_day += M[k-1]-day;
}
else if(k<month) break;
}
//下面兩句話是對2007之前的年做一個處理,比如相差5天,其實是應該不是星期5而是星期2
int temp = sum_day%7;
sum_day = sum_day-temp + 7-temp;
}
return ;
}
}

❹ Java程序:輸入某年某月某日,判斷該天星期幾,是這一年的第幾天.

輸入某年某月某日,判斷這一天是這一年的第幾天? 程序分析:以3月5日為例,應該先把前兩個月的加起來, 然後再加上5天即本年的第幾天,特殊情況, 閏年且輸入月份大於3時需考慮多加一天。

java是一門面向對象的編程語言。

java語言具有功能強大和簡單易用兩個特徵,具有簡單性、面向對象、分布式等特點,可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。

❺ java 給一個日期判斷是星期幾

/**
*判斷當前日期是星期幾<br>
*<br>
*@parampTime修要判斷的時間<br>
*@returndayForWeek判斷結果<br>
*@Exception發生異常<br>
*/
publicstaticintdayForWeek(StringpTime)throwsException{
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");
Calendarc=Calendar.getInstance();
c.setTime(format.parse(pTime));
intdayForWeek=0;
if(c.get(Calendar.DAY_OF_WEEK)==1){
dayForWeek=7;
}else{
dayForWeek=c.get(Calendar.DAY_OF_WEEK)-1;
}
returndayForWeek;
}

❻ Java編程,輸入日期輸出星期。

你好,按照你的要求,代碼如下

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class test {
public static void main(String[] args) {

String[] day = new String[] { "日", "一", "二", "三", "四", "五", "六" };

DateFormat df = new SimpleDateFormat("yyyyMMdd");// 輸入的日期格式必須是這種
Scanner s = new Scanner(System.in);
while (true) {
System.out.println("輸入一個日期,格式是20120101");
try {
Date d = df.parse(s.nextLine());// 把字元串轉化成日期
System.out.println("星期" + day[d.getDay()]);
} catch (ParseException e) {
System.out.println("輸入不合法");
}
}
}
}

運行結果:

輸入一個日期,格式是20120101
20111123
星期三
輸入一個日期,格式是20120101
2011
輸入不合法
輸入一個日期,格式是20120101

❼ java中如何獲取日期時間中的星期幾

這個只能自己編寫代碼,顯示樣式可以根據自己的喜好設定。
實現此功能有很多方法,下面僅給一個例子,希望對你有幫助。

/** * 獲取指定日期是星期幾
* 參數為null時表示獲取當前日期是星期幾
* @param date
* @return
*/
public static String getWeekOfDate(Date date) {
String[] weekOfDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar calendar = Calendar.getInstance();
if(date != null){
calendar.setTime(date);
}
int w = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0){
w = 0;
}
return weekOfDays[w];
}

調用方法如下,看你怎麼用了

public static void main(String[] args){
//今天是2015-10-19 星期一
String weekOfDate = null; //參數為null時表示獲取當前日期是星期幾
weekOfDate = getWeekOfDate(null);
System.out.println(weekOfDate);
//輸出 星期一

Date date = new Date();
date.setDate(18); //指定日期也可以
weekOfDate = getWeekOfDate(date);
System.out.println(weekOfDate);
//輸出 星期日
}

❽ java知道當前時間,怎樣知道星期幾

java中獲取星期幾可以這樣:
把時間格式化為字元串

public class Time {

public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat strdate = new SimpleDateFormat("E");
String str = strdate.format(date);
System.out.println(str);
}
}

其中日期標志符為:
G年代
y 年
M 月
d 日
h 時在上午或下午 (1~12)
H 時在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第幾天
F 一月中第幾個星期幾
w 一年中第幾個星期
W 一月中第幾個星期
a 上午 / 下午標記符
k 時在一天中 (1~24)
K 時在上午或下午 (0~11)
z 時區

閱讀全文

與java計算日期的星期幾相關的資料

熱點內容
一堆文件夾怎麼弄出來 瀏覽:742
博途如何編譯硬體 瀏覽:418
fortran程序pdf 瀏覽:503
電池消耗演算法 瀏覽:393
伺服器中斷連接怎麼處理 瀏覽:221
上世紀互聯網不發達程序員很難 瀏覽:840
語音識別android開源 瀏覽:761
地埋式垃圾壓縮中轉站 瀏覽:901
apachehttpdlinux 瀏覽:943
快遞員中通app預付款是什麼 瀏覽:843
java路徑轉義 瀏覽:856
keytool加密演算法 瀏覽:130
笑臉圖案的APP相機是什麼軟體 瀏覽:249
app軟體為什麼會被下架 瀏覽:979
從內存到硬碟的命令是 瀏覽:51
程序員的爸爸們的發型 瀏覽:122
魔獸世界傷害壓縮是怎麼壓的 瀏覽:975
壓縮機型號hp 瀏覽:957
配音虛弱的程序員 瀏覽:61
8歲小學生程序員編程 瀏覽:255