油价调整规则

  • 国内油价调整规则:成品油调整周期为 10 个工作日,也就是说是十个工作日之后油价调整窗口开启一次,而工作日不包含周六日和法定假日。
<?php
index();
function index()
{
$year = $_GET['year'] ?? '2021';
$date = $_GET['date'] ?? '01-15';
$start_date = $year . '-' . $date;
$end_date = $year . '-12-31';
$year_date = dateRange($start_date, $end_date);
echo '<pre>';
//var_dump($year_date);
$holiday = getHoliday($year);
$n = 0;
$zm = [6, 0];//周末
foreach ($year_date as $key => $val) {
$date = substr(strstr($val, '-'), 1);
$week = date("w", strtotime($val));//星期
// 周一~周5且不是假期 或者 周六到周日 且不是法定调休 即可得到工作日
if (
(!isset($holiday[$date]) && !in_array($week, $zm)) ||
(isset($holiday[$date]) && $holiday[$date]['holiday'] == false && in_array($week, $zm))
) {
if ($n % 10 == 0)
$out[] = $val;
$n++;
}
}
var_dump(json_encode($out));
}

/**
* 日期范围得到一个天为单位的数组
* @param string $start_date Y-m-d:2020-06-01
* @param string $end_date Y-m-d:2020-06-07
* @return array
*/
function dateRange($start_date, $end_date)
{
if ($start_date > $end_date) {
$start = strtotime($end_date);
$end = strtotime($start_date);
$is_reverse = true;
} else {
$start = strtotime($start_date);
$end = strtotime($end_date);
$is_reverse = false;
}
$i = 0;
$range = [];
while ($start <= $end) {
$range[$i] = date('Y-m-d', $start);
$start = strtotime('+1 day', $start);
$i++;
}
return $is_reverse ? array_reverse($range) : $range;
}

function getHoliday($year = null)
{
$year = $year ?? date('y');
// $cacheKey = "holiday_{$year}";
// $holiday = \Cache::get($cacheKey);
// if(is_null($holiday)){
$holiday = json_decode(file_get_contents('http://timor.tech/api/holiday/year/' . $year), true);
// if($holiday['code'] == '0')
// \Cache::put($cacheKey, $holiday, Carbon::now()->addYear(1));
// }
return $holiday['holiday'];
}

程序运行结果

[
"2021-01-15",
"2021-01-29",
"2021-02-18",
"2021-03-03",
"2021-03-17",
"2021-03-31",
"2021-04-15",
"2021-04-28",
"2021-05-14",
"2021-05-28",
"2021-06-11",
"2021-06-28",
"2021-07-12",
"2021-07-26",
"2021-08-09",
"2021-08-23",
"2021-09-06",
"2021-09-18",
"2021-10-09",
"2021-10-22",
"2021-11-05",
"2021-11-19",
"2021-12-03",
"2021-12-17",
"2021-12-31"
]

2021 年我国成品油共迎 25 轮调价窗口期,首次调整时间为 1 月 15 日 24 时。

具体油价调整时间表看下图(或文字)。成品油油价调整时间为 10 个工作日一次,日期分别为:

 

1月15日;1月29日;
2月18日;
3月3日;3月17日;3月31日;
4月15日;4月28日;
5月14日;5月28日;
6月11日;6月28日;
7月12日;7月26日;
8月9日;8月23日;
9月6日;9月18日;
10月9日;10月22日;
11月5日;11月19日;
12月3日;12月17日;12月31日。

image.png

By amble

拥有的都是侥幸,失去的都是人生。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注