Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
92 views
in Technique[技术] by (71.8m points)

Output current week number within month PHP

I have a PHP script to identify the current month and current week within that month.

For today, it should output 501 (i.e. 5th week of the 1st month), however right now it outputs 101.

Can someone explain why this is the case and how I can resolve? I feel I'm missing something obvious.

<?php 
date_default_timezone_set("Europe/London");

function weekOfMonthFunction($date) {
    $firstOfMonth = date("Y-m-01", strtotime($date));
    return intval(date("W", strtotime($date))) - intval(date("W", strtotime($firstOfMonth)));
}

$week = weekOfMonthFunction($date2);
$week = $week + 1;
$month = date("m");
$week_month = $week.$month;

echo $week_month;
question from:https://stackoverflow.com/questions/65886220/output-current-week-number-within-month-php

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
<?php
date_default_timezone_set("Europe/London");

function weekOfMonth() {
    $now = time();
    $week = date('W', $now);
    $firstWeekOfMonth = date('W', strtotime(date('Y-m-01', $now)));
    return 1 + ($week < $firstWeekOfMonth ? $week : $week - $firstWeekOfMonth);
}

$week = weekOfMonth();
$week_month = $week . date("m");

echo $week_month;

501

Try it online!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...