如何根据给定日期动态设置 dateperiod/daterange?
How to set dynamically a dateperiod/daterange in function of a given date?
我正在寻找编写函数来设置给定日期的日期期间/日期间隔的方法....
首先,让我解释一下上下文:
我有一个管理婚礼铭文的应用程序。
我为我的档案页面使用了一个系统 "seasonnal dates" like
- 2017-2018
- 2018-2019
- 2019-2020等
每个季节(或日期段)从 9 月 1 日开始到 8 月 31 日结束,因此例如 2017-2018 对应于 2017-09-01 至 2018-08-31,2018-2019 对应于 2018-09 -01 至 2019-08-31 等
所以如果我有一个像 2019-01-23 这样的结婚日期,我想保存相应的季节,就在这里 2018-2019。
实际上我写了这段代码:
//for example (I have a date object in fact in this $evenement var)
$evenement = "2019-01-23";
$start = Carbon::createFromFormat('Y-m-d', $evenement->copy()->subYear()->year . '09-01');
$end = Carbon::createFromFormat('Y-m-d', $evenement->year . '08-31');
if($evenement->between($depart, $fin)){
$saison = $depart->year . '-' . $fin->year;
}
如果日期在 2019-01-01 之后,它可以工作,但不适用于之前的日期,也不适用于未来的日期,(此时不是函数)...
你能帮我实现这个吗?会很不错的。
谢谢
我在昨晚找到了解决方案!
这是我的函数,用于获取给定日期的 "season" 函数。
public static function getSeason($date)
{
if($date->month >= 9 && $date->month <= 12){
$annee1 = $date->year;
$annee2 = $annee1 + 1;
$saison = $annee1 . '-' . $annee2;
}
elseif($date->month >= 1 && $date->month <= 8){
$annee2 = $date->year;
$annee1 = $annee2 - 1;
$saison = $annee1 . '-' . $annee2;
}
return $saison;
}
例如,如果日期是 2018-10-03,
$season = "2018-2019";
如果日期 = 2019-04-21,
$season = "2018-2019";
你觉得这个功能怎么样,我可以优化一下吗?
谢谢
我正在寻找编写函数来设置给定日期的日期期间/日期间隔的方法....
首先,让我解释一下上下文:
我有一个管理婚礼铭文的应用程序。 我为我的档案页面使用了一个系统 "seasonnal dates" like
- 2017-2018
- 2018-2019
- 2019-2020等
每个季节(或日期段)从 9 月 1 日开始到 8 月 31 日结束,因此例如 2017-2018 对应于 2017-09-01 至 2018-08-31,2018-2019 对应于 2018-09 -01 至 2019-08-31 等
所以如果我有一个像 2019-01-23 这样的结婚日期,我想保存相应的季节,就在这里 2018-2019。
实际上我写了这段代码:
//for example (I have a date object in fact in this $evenement var)
$evenement = "2019-01-23";
$start = Carbon::createFromFormat('Y-m-d', $evenement->copy()->subYear()->year . '09-01');
$end = Carbon::createFromFormat('Y-m-d', $evenement->year . '08-31');
if($evenement->between($depart, $fin)){
$saison = $depart->year . '-' . $fin->year;
}
如果日期在 2019-01-01 之后,它可以工作,但不适用于之前的日期,也不适用于未来的日期,(此时不是函数)...
你能帮我实现这个吗?会很不错的。
谢谢
我在昨晚找到了解决方案!
这是我的函数,用于获取给定日期的 "season" 函数。
public static function getSeason($date)
{
if($date->month >= 9 && $date->month <= 12){
$annee1 = $date->year;
$annee2 = $annee1 + 1;
$saison = $annee1 . '-' . $annee2;
}
elseif($date->month >= 1 && $date->month <= 8){
$annee2 = $date->year;
$annee1 = $annee2 - 1;
$saison = $annee1 . '-' . $annee2;
}
return $saison;
}
例如,如果日期是 2018-10-03,
$season = "2018-2019";
如果日期 = 2019-04-21,
$season = "2018-2019";
你觉得这个功能怎么样,我可以优化一下吗?
谢谢