根据给定的日期格式'YYYY-mm-dd',获取该日期所在周的起始日期
php代码
/** * 获取一年中所有星期的起始日期 * @param $year 格式 'YYYY' * 返回二维数组 下标 key1值对应一年中某一天所在周的实际年份 key2值对应一年中某一天所在的周数[一年中第几周] * 返回false 日期格式错误 */ function get_all_weeks($year){ $week_arr = array(); $year = intval(trim($year)); $preg = "/^\d{4,}$/"; if(!preg_match($preg, $year)){ return false; } $begin_day = $year . '-01-01'; $end_day = $year . '-12-31'; //一年第一个星期一 if(date('w',strtotime($begin_day))!=1){ $begin_day = date('Y-m-d',strtotime("next monday", strtotime($begin_day))); } //第一个星期一所在周数 $begin_week_num = intval(date('W',strtotime($begin_day))); //一年最后一个星期天 if(date('w',strtotime($end_day))!=0){ $end_day = date('Y-m-d',strtotime("last sunday",strtotime($end_day))); //存在跨年的星期,跨年所在周星期一 $end_day_next = date('Y-m-d',strtotime($end_day)+24*60*60); //跨年星期所属年份与所在周数 $stride_year = date('o',strtotime($end_day_next)); $stride_weeknum = intval(date('W',strtotime($end_day_next))); } //最后一个星期天所在周数 $end_week_num = intval(date('W',strtotime($end_day))); //一年第一个周一为一年的第一周或者第二周 if($begin_week_num!=1){ $i=2; }else{ $i=1; } $j = 0; for($i;$i<=$end_week_num;$i++){ $start_date = date("Y-m-d", strtotime("$begin_day $j week")); $end_day = date("Y-m-d", strtotime($start_date . '+6 day')); $week_arr[$year][$i] = array( $start_date, $end_day ); $j++; } if($end_day_next){ $week_arr[$stride_year][$stride_weeknum] = array( $end_day_next, date("Y-m-d", strtotime($end_day_next . '+6 day')) ); } return $week_arr; } //demo_调用 /* $year = '2013'; if(get_all_weeks($year)){ var_dump(get_all_weeks($year)); }else{ echo '日期格式出错'; } */ /** * 获取某一天所在周的起始日期 * 依赖 function get_all_weeks * @param $day 格式:'YYYY-mm-dd' * 返回false 日期格式错误 * 正确,返回json "{"begin_day":"YYYY-mm-dd","end_day":"YYYY-mm-dd"}" */ function get_day_week($day){ $date_arr = explode('-', trim($day)); if(!checkdate(intval($date_arr[1]), intval($date_arr[2]), intval($date_arr[0]))){ return false; } $year = date('Y',strtotime($day)); $weeks = get_all_weeks($year); //某一天所属的年份与周数 $real_year = date('o',strtotime($day)); $week_num = intval(date('W',strtotime($day))); if(!empty($weeks[$real_year][$week_num][0])) $begin_day = $weeks[$real_year][$week_num][0]; if(!empty($weeks[$real_year][$week_num][1])) $end_day = $weeks[$real_year][$week_num][1]; //跨年周数值存储于上一年中 if(empty($begin_day)||empty($end_day)){ $year = date('Y',strtotime($day))-1; $weeks = get_all_weeks($year); $real_year = date('o',strtotime($day)); $week_num = intval(date('W',strtotime($day))); if(!empty($weeks[$real_year][$week_num][0])) $begin_day = $weeks[$real_year][$week_num][0]; if(!empty($weeks[$real_year][$week_num][1])) $end_day = $weeks[$real_year][$week_num][1]; } $the_day = array( 'begin_day' => $begin_day, 'end_day' => $end_day ); $the_day = json_encode($the_day); return $the_day; } //demo_调用 /* $day = '2014-01-01'; if(get_day_week($day)){ var_dump(get_day_week($day)); }else{ echo '日期格式出错'; } */

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



1. First open the mobile web browser, search for the Weibo web version, and click the avatar button in the upper left corner after entering. 2. Then click Settings in the upper right corner. 3. Click the version switching option in settings. 4. Then select the color version option in the version switch. 5. Click Search to enter the search page. 6. After entering the keywords, click Find People. 7. When the search completion interface appears, click Filter. 8. Finally, enter the specific date in the release time column and click Filter.

1. Let me first talk about the method I used at the beginning, maybe everyone is using it too. First, open [View]——]Remarks Template[. 2. A place where you can actually see the date after opening it. 3. Select it first and delete it. 4. After deleting, click [Close Master View]. 5. Open the print preview again and find that the date is still there. 6. In fact, this date was not deleted here. It should be in the [Handout Master]. Look at the picture below. 7. Delete the date after you find it. 8. Now when you open the preview and take a look, the date is no longer there. Note: In fact, this method is also very easy to remember, because the printed handouts are handouts, so you should look for the [Handout Master].

Generating random data is very important in the field of data science. From building neural network predictions, stock market data, etc., date is usually used as one of the parameters. We may need to generate random numbers between two dates for statistical analysis. This article will show how to generate k random dates between two given dates using the random and datetime modules. Datetime is Python’s built-in library for handling time. On the other hand, the random module helps in generating random numbers. So we can combine random and datetime modules to generate a random date between two dates. Syntax random.randint (start, end, k) random here refers to the Python random library. The randint method uses three important

By default, the top bar of Ubuntu 17.10 only has the current time and no date. What should I do if I want to display the date? Let’s take a look at the detailed tutorial below. 1. Open the terminal in the launcher, or press [Ctrl+Alt+T] 2. Enter in the terminal: sudoaptinstallgnome-tweak-tool 3. After the installation is completed, open the tweak tool 4. Click TopBar 5. Date is the date and seconds is the number of seconds 6. After setting it up, the date and seconds will be displayed on the time in the top bar.

When performing data analysis in Python, it is also necessary to group and summarize by date, for example, to find the periodic pattern of sales volume. Then before using Python for data statistics, you need to add an extra step: get the day of the week from the specified date. For example, February 22, 2022, happens to be the 22nd Tuesday of the first lunar month, so there are particularly many people registering for marriage on this day. This article takes 2022-02-22 as an example to demonstrate 6 ways to get the "day of the week" for a specified date in Python! The weekday() datetime module is a Python built-in library that does not require pip installation. In addition to displaying date and time, it can also perform date and time calculations and formatting.

How to use the time and date modules in Python Introduction: In programming, dealing with time and dates are very common tasks. Python provides powerful time and date modules, making time and date operations easier and more convenient. This article will introduce the time and date modules in Python and provide specific code examples to help readers better understand and apply them. 1. Introducing the time and date module Python’s built-in time and date module is the datetime module. We need to introduce this module first.

Excel software has very powerful data processing functions. We often use excel software to process various data. Sometimes when we enter a date in an excel cell, the date in excel changes to a pound sign. How can we display the data normally? Let’s take a look at the solution below. 1. First, we put the mouse on the column width line between columns AB, double-click and adjust the column width, as shown in the figure below. 2. After the column is widened, we find that numbers are displayed in the cells instead of dates. This is definitely incorrect. Then we should check the format of the cells, as shown in the figure below. 3. Click the "Number" option in the "Home" tab, and click "Other Number Format" in the drop-down menu, as shown in the figure below.

PHP Data Filtering: Processing Date and Time Input Overview: When developing web applications, it is often necessary to process date and time data entered by the user. Since user input may contain various formats and errors, effective data filtering and validation are necessary to ensure data accuracy and security. This article explains how to use PHP to handle date and time input, and provides corresponding code examples. Filtering and validation principles: Before processing date and time inputs, you first need to determine the corresponding filtering and validation principles. Here are some common ones
