获取某年第几周周一,周日时间戳

直接上代码

	/**
     * 获取某年某周的星期一与星期日的日期.
     * @param int $year 年份
     * @param int $weeknum 第几周
     * @return array  
     */
    function get_week_date($year,$weeknum){
        $firstdayofyear = mktime(0,0,0,1,1,$year);
        $firstweekday = date('N',$firstdayofyear);
        $firstweenum = date('W',$firstdayofyear);
        if($firstweenum==1){
            $day=(1-($firstweekday-1))+7*($weeknum-1);
            $startdate=date('Y-m-d',mktime(0,0,0,1,$day,$year));
            $enddate=date('Y-m-d 23:59:59',mktime(0,0,0,1,$day+6,$year));
        }else{
            $day=(9-$firstweekday)+7*($weeknum-1);
            $startdate=date('Y-m-d',mktime(0,0,0,1,$day,$year));
            $enddate=date('Y-m-d 23:59:59',mktime(0,0,0,1,$day+6,$year));
        }
        echo '<pre>';
        // print_r(['周一' => $startdate,'周日' => $enddate]);die;
        return [strtotime($startdate),strtotime($enddate)]; 
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java中的Calendar类来获取本周的周一周日时间戳。具体实现代码如下: ```java import java.util.Calendar; public class Main { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); // 获取本周的周一时间戳 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); long mondayTimestamp = cal.getTimeInMillis() / 1000; System.out.println("本周周一时间戳:" + mondayTimestamp); // 获取本周的周日时间戳 cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); cal.add(Calendar.WEEK_OF_YEAR, 1); long sundayTimestamp = cal.getTimeInMillis() / 1000; System.out.println("本周周日时间戳:" + sundayTimestamp); } } ``` 解释一下代码: 1. 首先获取当前时间的Calendar实例。 2. 调用`set`方法将当前时间设置为本周的周一,`Calendar.DAY_OF_WEEK`表示一周的第几天,`Calendar.MONDAY`表示周一。 3. 获取本周周一时间戳,需要将`getTimeInMillis`返回的毫秒数除以1000,得到秒数。 4. 调用`set`方法将当前时间设置为本周的周日,再调用`add`方法将周数加1,这样就得到了下周的周日时间,需要注意的是这里的周数是`Calendar.WEEK_OF_YEAR`,表示一年中的第几周。最后获取本周周日时间戳,同样需要将毫秒数除以1000。 运行以上代码,输出结果如下: ``` 本周周一时间戳:1620470400 本周周日时间戳:1621075199 ``` 其中,1620470400表示2021年5月10日0时0分0秒,1621075199表示2021年5月16日23时59分59秒,这就是本周的周一周日时间戳

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值