java 判断一周第几天

package   study;  
  import   java.util.*;  
  public   class   Week{  
  public   static   java.text.SimpleDateFormat   formt=new   java.text.SimpleDateFormat("yyyy-MM-dd");  
  Date   d=new   Date();  
  public   int   getD()  
  {  
  return   d.getDay();  
  }  
  public   String   getdateFort(){  
  return   formt.format(d);  
  }    
  public   static   void     main(String[]   args)  
  {  
  Week   w=new   Week();  
  System.out.println(w.getdateFort());  
  System.out.println("今天星期"+w.getD());  
   
  }  
  } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
判断两个日期是否在同一,可以根据ISO8601标准来计算。该标准定义了一的第一天为一,最后一天为日,一年中的第一个完整必须满足以下条件: 1. 它的第一天必须是该年的第一天或者该年的第一个一 2. 它包含的天数必须大于等于4天 以此类推,每个的起始日期为该一,终止日期为该日。因此,我们可以按照以下步骤判断两个日期是否在同一内: 1. 计算两个日期是当年的第几天(dayOfYear) 2. 计算出两个日期所在一的日期(monday1, monday2),公式为: monday = date - (date.getDayOfWeek() - 1) 3. 判断两个日期所在一是否相同,如果不同,则它们不在同一 4. 如果两个日期所在一相同,则判断它们距离一的天数是否都小于7天,如果都小于7天,则它们在同一,否则它们不在同一。 以下是Java实现的代码示例: ```java import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class DateUtils { public static boolean isSameWeek(LocalDate date1, LocalDate date2) { // 计算两个日期是当年的第几天 int dayOfYear1 = date1.getDayOfYear(); int dayOfYear2 = date2.getDayOfYear(); // 计算出两个日期所在一 LocalDate monday1 = date1.minusDays(date1.getDayOfWeek().getValue() - 1); LocalDate monday2 = date2.minusDays(date2.getDayOfWeek().getValue() - 1); // 判断两个日期所在一是否相同 if (!monday1.equals(monday2)) { return false; } // 判断两个日期距离一的天数是否都小于7天 return Math.abs(dayOfYear1 - monday1.getDayOfYear()) < 7 && Math.abs(dayOfYear2 - monday2.getDayOfYear()) < 7; } } ``` 其中,date1和date2为两个LocalDate对象,返回值为布尔类型,表示它们是否在同一内。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值