问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 语言 输入一个日期 显示出星期几

发布网友 发布时间:2022-10-11 11:54

我来回答

4个回答

热心网友 时间:2023-10-12 23:04

写完了,测试没有问题。程序中有注释。可以看看,不懂的可以给我消息。
import javax.swing.JOptionPane;

public class DateTest {

/**
* @param args
*/
//上面是非闰年的,下面是闰年的每个月的天数
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 ;
}
}

热心网友 时间:2023-10-12 23:05

我写给你吧,其实这些都不难得。

完整代码如下:
import java.text.DateFormatSymbols;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.swing.JOptionPane;

public class DateUtil {

public static final String[] weekdays = new DateFormatSymbols().getWeekdays();

public static void main(String[] args) throws ParseException {

boolean isValidInput = false;

String dateReg = "^\\d{4}-[0-1]\\d-[0-3][0-9]";
String inputDate = null;

do{
inputDate = JOptionPane.showInputDialog("Please input a date(yyyy-MM-dd)");

isValidInput = inputDate.trim().matches(dateReg);

if(!isValidInput){
JOptionPane.showMessageDialog(null, "Invalid date format. Please check and input again!");
}
}while(!isValidInput);

Calendar cal = Calendar.getInstance();
cal.setTime((new SimpleDateFormat("yyyy-MM-dd")).parse(inputDate));

JOptionPane.showMessageDialog(null, inputDate + " is " + weekdays[cal.get(Calendar.DAY_OF_WEEK)]);
}
}

热心网友 时间:2023-10-12 23:05

public static int getDay_week(Date date){
int week=0;
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
week=calendar.get(Calendar.DAY_OF_WEEK);
return week-1;
}

热心网友 时间:2023-10-12 23:06

=========================== 1 ==========================
import javax.swing.*;
import java.lang.*;

public class Wanyear
{
public static void main(String[] args)
{
String input=JOptionPane.showInputDialog
("Please Enter the year");

int year=Integer.parseInt(input);

String input1=JOptionPane.showInputDialog
("Please Enter the Month");

int m=Integer.parseInt(input1);

String input2=JOptionPane.showInputDialog
("Please Enter the Day");

int d=Integer.parseInt(input2);

String Nyear=Integer.toString(year);

String Sc=Nyear.substring(0,1);
String Sy=Nyear.substring(2,3);

int c=Integer.parseInt(Sc);
int y=Integer.parseInt(Sy);

if(m<3){
year--;
m+=12;}

else
c--;

int w=(c/4)-(2*c)+y+(y/4)+(13*(m+1)/5)+d-1;
int result=0;

if(w>=0)
result=w%7;
else
result=(w+700)%7;

switch(result)
{
case 0: System.out.println("SUN"); break;
case 1: System.out.println("MON"); break;
case 2: System.out.println("TUE"); break;
case 3: System.out.println("WED"); break;
case 4: System.out.println("THU"); break;
case 5: System.out.println("FRI"); break;
case 6: System.out.println("SAT"); break;
}

}
}
======================== 2 =====================
import java.io.*;
class putout{
public void putout(int f,int x,int y){
int i;
int a[]= new int[40];
System.out.println(" 日 一 二 三 四 五 六 "+" "+f+"月");
for (i=0;i<x;i++)

for(i=x;i<x+y;i++)
a[i]=i-x+1;
for(i=x;i<x+y;i++)
{
if (i%7==0)
System.out.print("\n");
if (a[i]<10)
System.out.print(" "+a[i]);
else
System.out.print(" "+a[i]);
}
System.out.println("\n");
}
}
class st{
public static void main(String args[])throws IOException{
putout p=new putout();
int year,mouth,y=1,t,i;
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
System.out.println("请输入一个年份");
String s=in.readLine();
year=Integer.parseInt(s);
if((year%4==0 && year%100!=0)||(year%400==0))
mouth=1;
else
mouth=0;
y=year;
for(i=1;i<year;i++)
{if((i%4==0 && i%100!=0)||(i%400==0))
y++;}
y=y%7;
for(i=1;i<13;i++){
switch(i){
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
}
}
}
}

给了你2个,不知道你要的是显示的还是求那一天的
不过现在能解决你的问题
Java编程,输入日期输出星期。

具体的实现步骤如下:1. 获取用户输入的日期信息。2. 使用SimpleDateFormat类将用户输入的字符串转换为Date对象。3. 使用Calendar类获取该日期对应的星期数,注意星期在Calendar类中是从1开始计数的,需要进行相应的转换。4. 根据星期数输出相应的星期名称。尽管这个功能在Java编程中并不是最复杂的部分,...

java怎样通过日期获取星期几?

"星期四", "星期五", "星期六"};\x0d\x0aCalendar cal = Calendar.getInstance();\x0d\x0acal.setTime(dt);\x0d\x0aint w = cal.get(Calendar.DAY_OF_WEEK) - 1;\x0d\x0aif (w &lt; 0)\x0d\x0aw = 0;\x0d\x0areturn weekDays[w];\x0d\x0a}\x0d\x0a2、使...

java中如何获取日期时间中的星期几?

//根据日期取得星期几 public static String getWeek(Date date){ String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};Calendar cal = Calendar.getInstance();cal.setTime(date);int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;if(week_inde...

Java程序:输入某年某月某日,判断该天星期几,是这一年的第几天.

输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来, 然后再加上5天即本年的第几天,特殊情况, 闰年且输入月份大于3时需考虑多加一天。java是一门面向对象的编程语言。java语言具有功能强大和简单易用两个特征,具有简单性、面向对象、分布式等特...

java程序 输入年月日算星期几

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 = ...

java 怎么根据一天的时间得到一周的时间

month是从1开始的12结束 param day return 返回一个代表当期日期是星期几的数字。1表示星期天、2表示星期一、7表示星期六。/ public static int getDayOfWeek(String year, String month, String day) { Calendar cal = new GregorianCalendar(new Integer(year).intValue(),new Integer(month).int...

java 给一个日期判断是星期几

/** * 判断当前日期是星期几 * * @param pTime 修要判断的时间 * @return dayForWeek 判断结果 * @Exception 发生异常 */ public static int dayForWeek(String pTime) throws Exception { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Calendar ...

java中如何获取日期时间中的星期几?

= null; //参数为null时表示获取当前日期是星期几 weekOfDate = getWeekOfDate(null);System.out.println(weekOfDate);//输出 星期一 Date date = new Date();date.setDate(18); //指定日期也可以 weekOfDate = getWeekOfDate(date);System.out.println(weekOfDate);//输出 星期日 } ...

请问java中用for循环如何做这道题? 输入年,月,日,输出星期几。(已知...

java中一个日期减去另一个日期得到的是毫秒数的值。所以你想得到从1900.1.1到你输入的日子有多少天必须自己实现。我简单写了个。有些显示问题你自己在整理下。public static void calculate(int y,int m,int d){ //用你给定的年,月,日初始化一个Date对象 Date d1 = new Date(y,m,d);/...

java怎么通过日期获取星期几

param dt return 当前日期是星期几 / public static String getWeekOfDate(Date dt) { String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};Calendar cal = Calendar.getInstance();cal.setTime(dt);int w = cal.get(Calendar.DAY_OF_...

java输入日期显示星期几 java输入年月日输出星期几 java输入日期输出星期 Java输入年月日判断星期几 java根据日期判断星期几 java根据日期计算星期几 java通过日期获取星期 java判断输入日期 java中如何输入日期
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
自然吸气发动机可以改成涡轮增压吗 我双眼皮第二次修复,现在已经四个月了,还没自然,是不是手术没做好,感觉... 梦见与老头骂架,老头扔平果打我还要和我离婚我也骂了他他气的向要杀我... "毛蛤蜊"是什么? 魔芋胶囊功效与原理 魔芋膳食纤维服用魔芋膳食纤维的注意事项 ...的事情,想跨专业考教育类的研究生,目前应该怎样做 u30-h10 手机桌面壁纸怎么换 右手大拇指骨节处在厂里被机器压到粉碎性骨折,现在手内放有钢板,钢针固... 我因在厂里模具压到右手大拇指第二关节骨折,打了钢针,筋也断了,缝了... java用数字输入0到6用中文表示星期几 java 实现判断某天是星期几 用java编写求星期几 java代码问题。老师让写段代码输入字符显示星期几。代码如下: Java普通类(不是Servlet)中如何获取Web工程部署到tomcat的路径? 当一个人想哭的时候 用什么办法能使自己开心呢? 心里很难过时应该哭出来对身体好,还是不要哭? 哭真的能发泄情绪吗 想哭的时候哭出来,对身体有好处吗 具有美容功效的中草药护肤技巧 夏威夷果能减肥吗 吃夏威夷果多了会长胖吗? 四线电线能承受多少瓦 电线4平方能承受多大功率 五险强制交吗 铅笔h和b有什么区别 微信公众号怎么推广,如何快速增粉 豆腐渣怎样发酵做肥料,豆腐渣直接晒干可以当肥料吗 《皮囊》读后感800字 豆腐渣怎么发酵做肥料 梦见抓虾什么意思 读书——《菜根谭》(61) 读书的古诗词句 王者荣耀别人换个号然后把组队链接发到我好友圈可以进去吗? 读水有感 煮粽子锅底放粽叶吗 煮粽子锅底需要放粽叶吗 电饭锅底部放粽叶会不会糊 达木兰怎么养能开花 达木兰如何养护才能开花 达木兰花开俭子出不来为什么 如何修改密码 牙齿美白最快的方法介绍 年过九旬老人面糊糊里放些什么蔬菜比较好? java中怎么判断某一目录下某类文件是否存在 有华为hcie证书真的好找工作吗 2.5平方铜线 可以承受两台1.5匹的空调吗?- 问一问 用JAVA语言编写:有键盘输入字符串,删去指定位置处的字符如题 谢谢了 小船横渡一条河,船本身提供的速度大小方向都不变.已知小船的运动轨迹如图所示,则河水的流速(  )A 小船横渡一条河,船头开行方向始终与河岸垂直.若小船相对水的速度大小不变时,小船的一段运动轨迹如图所 小船匀速横渡一条小河 鸡蛋美白祛斑的方法