Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何找到一周中的哪一天-Java_Java_Date - Fatal编程技术网

如何找到一周中的哪一天-Java

如何找到一周中的哪一天-Java,java,date,Java,Date,还有一些其他的问题几乎是一样的,但我似乎无法让我的代码工作。我得到的用户输入是生日日/月/年。顺便说一下,我忽略了闰年。我试图确定用户出生的那天是一周中的哪一天。我必须确定他们从某个日期出生的天数,在这个例子中是1901年1月1日星期二。这就是我为什么要做1901年的事 day=int-day 使用开关确定每个月有多少天,由daymount 7月31日,2月28日等等 年份=int年 String[] days = {"Monday", "Tuesday", "Wednesda

还有一些其他的问题几乎是一样的,但我似乎无法让我的代码工作。我得到的用户输入是生日日/月/年。顺便说一下,我忽略了闰年。我试图确定用户出生的那天是一周中的哪一天。我必须确定他们从某个日期出生的天数,在这个例子中是1901年1月1日星期二。这就是我为什么要做1901年的事

day=
int-day

使用开关确定每个月有多少天,由
daymount
7月31日,2月28日等等

年份=
int年

String[] days =
         {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
howManyDays = ((year-1901)*365 + dayMonth + day - 1);       
whatDay = (howManyDays%7);
days[whatDay]
它有时有效,但有时无效。
如有任何问题,欢迎提供帮助。提前感谢,希望它有意义

您可以使用Java日历

Calendar c = Calendar.getInstance();
c.set(year, month, day);

int day_of_week = c.get(Calendar.DAY_OF_WEEK);

这将为您提供一个整数,表示它是星期几,您可以提供一个数组来映射日期的“名称”。

您使用的代码无法在任何标准日期操作中实现,因为有许多情况,如闰年等

尝试使用java.util.Calendar进行日期操作,这些操作需要知道周、日、月等细节

对于更复杂的日期函数,请使用。Joda Calendar速度很快,有很多操作,如两天之间的天数等。您可以查看上面的链接了解更多详细信息

现在你可以用这个

     Calendar calendar = Calendar.getInstance();
     calendar.set(year, month, date) ;
     int i=calendar.get(Calendar.DAY_OF_WEEK);

这里我的值是星期天到星期六的1-7。

看看我不想要今天的日期,我希望它根据用户的输入而改变。如果你想实现日历系统,你应该说明哪一个是合适的。现代解决方案使用
java.time.LocalDate
DayOfWeek
枚举。例如:
LocalDate.of(y,m,d).getDayOfWeek().getDisplayName(…)
而不是
c.set(2012,03,22)
我可以使用
c.set(年、月、日)
或类似的东西吗?当然可以:)这只是一个例子,我对它进行了编辑以澄清。仅供参考,非常麻烦的旧日期时间类,例如,
java.text.SimpleDateFormat
现在被java 8及更高版本中内置的类所取代。看,这个月会是什么样的-1吗?所以如果我想进入7月,我就必须把6?或者我会放7吗?@Dileep链接指向谷歌,可能不起作用。@RomanC谢谢你的提示。@EthanEdwards月从0-11开始,星期从1-7开始,当我设置日历时,Sun-SatDileep@RedSonja。set(2019,9,10);你能告诉我为什么它返回5而不是3吗。9月10日是星期二。