❶ 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 时区