gpt4 book ai didi

php - 如何在 PHP 中拆分不同的日期格式?

转载 作者:行者123 更新时间:2023-11-30 22:43:18 24 4
gpt4 key购买 nike

我有一些这样的日期:

  • 2012 年 12 月 15 日
  • Du mardi 18 avril au jeudi 25 mai
  • 6 月 25 日、26 日和 27 日

只是法语的例子。

我的数据库看起来像:

 CREATE TABLE DateTest(id_date int(11), date text, date_deb date, date_fin date);

我想插入我的不同日期,不管它们的格式如何。我可以很容易地插入第一个示例,第二个也可以,但是关于第一个,我不知道..

它可以有很少的分隔符(, 或 et),当我得到天数(第一个是 25)时,我没有月份。

最佳答案

我会做的是编写几个正则表达式来捕获可以输入这些日期期间的不同方式。对于第三种格式,例如:

$month_nrs = array('janvier' => 1, 'février' => 2, 'mars' => 3, 'avril' => 4, 'mai' => 5, 'juin' => 6, 'juillet' => 7, 'août' => 8, 'septembre' => 9, 'octobre' => 10, 'novembre' => 11, 'décembre' => 12);

$period = 'Le 25, 26 et 27 Juin';
//$period = 'Le 25 et 26 Juin';
//$period = 'Le 25, 26, 27 et 28 Juin';
if (preg_match('/(\d{1,2})(?:,\s*\d{1,2})* et (\d{1,2})\s+(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i', $period, $matches)) {
$month_name = strtolower($matches[3]);
$month_nr = $month_nrs[$month_name];
$day_deb = $matches[1];
$day_fin = $matches[2];
$date_deb = date('Y').'-'.$month_nr.'-'.$day_deb;
$date_fin = date('Y').'-'.$month_nr.'-'.$day_fin;

echo "Date deb: $date_deb, date fin: $date_fin";
}

关于php - 如何在 PHP 中拆分不同的日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30452482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com