日期的很好算,主要是周几比较麻烦。但是只要你知道可以用现在的总天数(现在到1年1月1日)对7取余,就很简单了。
还有就是记得考虑闰年,闰年的公式是整除4不整除100或者整除400.下面是详细代码:

import java.util.Scanner;public class Solution {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String str = scanner.nextLine();if (str == null || str.length() == 0) {System.out.println("输入不合法!");}assert str != null;String[] strings = str.split("-");int year = Integer.parseInt(strings[0]);int month = Integer.parseInt(strings[1].replace("0", ""));int[] arr = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int day = Integer.parseInt(strings[2].replace("0", ""));for (int i = 0; i < month - 1; i++) {day = day + arr[i];}if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {if (month >= 3) {day = day + 1;}}System.out.println(day+"天,星期"+weekday(year,day));}public static String weekday(int year,int day){long amount=0;for(int i=1;i<year;i++){if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)amount++;}amount+= 365L *(year-1);amount+=day;int week=(int) (amount%7);String w="";switch(week){case 0:w="日";break;case 1:w="一";break;case 2:w="二";break;case 3:w="三";break;case 4:w="四";break;case 5:w="五";break;case 6:w="六";break;}return w;}
}

我这块是面试的时候随手写在main方法里面了,可以自己抽取成单独的方法去使用。项目中还是建议直接使用Data和Calendar类去操作。

java实现某一年某一月某一天是今年的多少天,星期几?相关推荐

  1. java获取某一年某一月的最后一天

    Calendar ca = Calendar.getInstance(); ca.set(Calendar.YEAR, 2021); ca.set(Calendar.MONTH, 12); days ...

  2. java 获取当前是周几_java 获取今天(某一天)是星期几/周几

    [public class GetDayOfWeek{ public static void main(String args[]){ final String dayNames[] = { &quo ...

  3. Java语言每日一练—第9天:根据输入的数据判断是星期几

  4. 【Java】Java根据时间计算是否为上午、中午、下午以及根据日期获得星期几

    1.编写公共方法: /*** 根据小时判断是否为上午.中午.下午* @param hour* @return* @author zhangsq*/public static String getDur ...

  5. Java:取得当前日期一周之前/之后的日期,或者是一月之前/之后的日期

    一. 旧的方式 参考以前的博客:Java中日期容易计算错误的问题 1. 需求 取得当前时间前一周的时间.比如说:今天是2009-4-23,运行结果则为:2009-4-16. 代码:一般人肯定会这样写: ...

  6. java.lang.ClassNotFoundException: org.springframework.web.context.request.Reques

    一月 24, 2015 4:51:02 下午 org.apache.tomcat.util.digester.SetPropertiesRule beginWARNING: [SetPropertie ...

  7. java笔记 -- GregorianCalendar和DateFormateSymbols 类方法

    java.util.GregorianCalendar new GregorianCalendar() 构造一个日历对象, 用于表示默认地区,默认时区的当前时间. new GregorianCalen ...

  8. java 循环字母_java循环26个字母

    汉字:"+(int)A); System.out.println("汉字:"+(int)B); System.out.println("汉字:"+(i ...

  9. 【java】【kotlin】判断当前日期是星期几、是否为月底;获取当前季度起始时间

    用kotlin写的 java代码用intellij可互转,此处不再贴出 判断当前日期是星期几 /*** 判断当前日期是星期几*/fun getWeekOfDate(dt: Date): Int {va ...

最新文章

  1. linux c 各头文件作用总结
  2. stl clocklist 查找元素_剑指信奥 C++ 之 STL 迭代器(上)
  3. SQL : 在SQL Server 2008(Or Express)中如何Open并编辑数据表【转】
  4. 【Blog】Start My Journey In Cnblogs!
  5. 通信专业实务(中级)
  6. html5 下拉框 美化,实用select下拉框美化jquery插件
  7. win7自定义html为桌面,Win7系统自定义桌面主题的方法
  8. 学田岛电脑绣花制版新人上手教程之一
  9. 洛谷1156 垃圾陷阱
  10. 2020年中国研究生数学建模竞赛E题
  11. hpux 内存 够不够_hpux查看内存大小
  12. FPGA逻辑设计回顾(2)那些年学习FPGA较为常见的疑问?
  13. Invalid bound statement (not found): com.exam.mapper.UserMapper.findbyid
  14. The path to the Subversion executable is probably wrong. Fix it.
  15. 多人网络游戏服务器开发基础学习笔记 II: 帧同步 | 游戏客户端预测原理分析 | FPS 游戏状态同步
  16. win10远程桌面连接都有哪些工具
  17. Flutter 实现原理及跨平台实践
  18. 23种设计模式——模板模式
  19. Web前端开发技术:Vue开发基础(2)
  20. 女生适合学数据分析吗?过来人告诉你

热门文章

  1. Arduino IDE 控制 RGB_LED 全彩灯(ESP8266示例)
  2. npm命令运行时报错_npm命令运行时报错_使用npm命令时报错误Error: EACCES: permission denied...
  3. python sox 修改音频文件采样率
  4. socket或pipe 一端断开; errno 104:connetction reset by peer的错误分析
  5. js实现键盘按键s进入搜索框
  6. html显示三维模型restful,如何使用RESTful API提供静态(或动态?)HTML文件?
  7. Android系统开发之烧录开发板
  8. 父View半透明,子View不透明
  9. Revit二次开发入门[一]载入Add-In Manager
  10. [网络安全学习篇58]:PHP代码注入