草庐IT

php - 正则表达式从任何字符串中获取日期 yyyy-mm-dd

首先请原谅我对正则表达式不太熟悉。我想要的是一个正则表达式,它可以从任何类型的字符串中提取像mysql日期这样的日期。直到现在我一直在使用这个:^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$但是现在我想从其他字符串和日期时间字符串中提取日期模式我尝试将正则表达式更改为^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]).基于一些在线正则表达式测试器,但它失败了。有时它还会给我一个3位数的结果。换句话说,sting以yyyy-mm-dd开头,然后是空格字符数字或任何内容。如何提

php - 正则表达式使用 YYYY-MM-DD 格式验证 PHP 中的日期

我正在尝试制作一个日期正则表达式验证器。我遇到的问题是我使用的是"date"类型的输入字段,这在Chrome中非常有用;它会在Chrome中打开类似日历的功能,但在其余部分它什么都不做,所以我决定为其余部分手动输入日期。这是我的错误抛出消息(我正在寻找YYYY-MM-DD格式):$date_regex='#^(19|20)\d\d[\-/.](0[1-9]|1[012])[\-/.](0[1-9]|[12][0-9]|3[01])$#';$hiredate=$_POST['hiredate'];if(!preg_match($date_regex,$hiredate)){$errors

PHP 如何将年份 3212 (YDDD) 逆向工程为 2013-08-01 (YYYY-mm-dd)

我有一个YDDD格式的日期,例如3212我想将此日期转换为默认日期字符串,即PHP中的2013-08-01由于第一个值Y是Year的唯一字符,所以我决定使用当前Year的前三个字符,即2013年的201以下是我一年写的代码现在如何使用$year和212使用PHP将其转换为2013-08-01编辑仅供引用:我的PHP版本是5.3.6 最佳答案 $date="3212";echoDateTime::createFromFormat("Yz","201$date")->format("Y-m-d");//2013-08-01DateTim

php - 为什么在 PHP 中对日期格式为 "YYYY-MM-DD"的两个字符串进行小于或大于比较工作,即使它们是字符串?

我正在为一个项目编写一段PHP代码,该项目将YYYY-MM-DD格式的日期与当前日期进行比较,看它是否小于当前日期。在代码的不同位置,使用了两种不同的方法来进行这种比较。第一个在日期上使用get_timestamp()并对时间戳进行比较。在另一个地方,它只是将日期字符串与date("Y-m-d")的输出进行比较。我的预期是两个日期字符串的比较不会提供正确的响应。但是,当我设置几个测试用例时,我得到了预期的输出。我查看了PHP手册的两个部分以获得洞察力,但我仍然对为什么不转换为时间戳就可以进行比较感到困惑。comparisonoperatorsPHP手册的一部分指出,字符串要么被转换为数

php - mm/dd/yyyy 格式到 PHP 纪元

我有一个mysql表,它依赖于相当于条目日期的unix纪元时间戳在网站的各个部分进行排序和过滤。我正在尝试实现一个日期选择器,它将以mm/dd/yyyy格式将日期输入到表单字段中。我一直在努力将该日期转换为unix纪元格式以将该条目添加到行字段中。我所做的所有尝试都生成了当天的纪元时间戳。有谁知道我如何采用该日期格式并将其转换为等效的纪元时间戳?提前致谢。附加信息:我一直在尝试mktime,但我得到的只是今天的纪元。抱歉,我应该早点添加一些代码来更好地解释:表单id为“date”数据库字段为“epoch”这是我在发布日期时正在尝试(未成功)的内容:$epochhold=($_POST[

php - 日期验证的正则表达式帮助 - dd/mm/yyyy - PHP

这个问题在这里已经有了答案:preg_match:checkbirthdayformat(dd/mm/yyyy)(11个答案)关闭3年前。当涉及到这个正则表达式时,有人能告诉我我的方法的错误吗:if(preg_match("/^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$/",$_POST["date"])===0){echo'error';}基本上我希望它每次都显示一条错误消息-除非格式正确(dd/mm/yyyy)。我在上面做错了什么?非常感谢任何指点。--发布后不久更新了上面的正则表达式-对于给您带来的不便深表歉意--

php - 如何编写与 laravel 相同的 DD() 函数?

我使用laravel很长时间,但目前我使用wordpress。我喜欢使用laravel的DD()函数。但是在wordpress中我只能使用这些,print_r(),var_dump(),var_export()....这些都是展开整个数组或对象。但是我需要laravel的expand和close机制来处理数组和对象。我将以下内容用作一般dd需要,if(!function_exists('dd')){functiondd(){echo'';array_map(function($x){var_dump($x);},func_get_args());die;}}它运作良好,但我需要一种风格

php - 如何转换yyyy-MM-dd HH :mm:ss to "15th Apr 2010" using PHP

我有以下日期格式:2010-04-1523:59:59我该如何将其转换为:2010年4月15日谢谢 最佳答案 echodate("jSMY",strtotime("2010-04-1523:59:59")); 关于php-如何转换yyyy-MM-ddHH:mm:ssto"15thApr2010"usingPHP,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2629392/

php - 在 PHP 中将日期从 YYYYMMDD 转换为 DD/MM/YYYY 格式

这个问题在这里已经有了答案:ConvertingtodateinPHPfromyyyymmddformat(5个答案)关闭3年前。我有一个MySQL数据库表,其中日期以YYYYMMDD格式存储。例如:20121226。我想以DD/MM/YYYY格式显示此日期。例如:26/12/2012我想到的是使用substr分别提取日、月和年。我想知道是否有更简单的方法来做到这一点。另外,有没有办法将这个日期转换为“2012年12月26日”格式,而无需编写单独的代码?

php - preg_match : check birthday format (dd/mm/yyyy)

如何创建检查生日输入以匹配像这样的dd/mm/yyyy格式的表达式?以下是我到目前为止得出的结果,但如果我输入99/99/9999,它也会用这个!if(!preg_match("/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/",$cnt_birthday)){$error=true;echo'';}我怎样才能确保dd只有01到31,mm只有01到12?但我确定如何限制yyyy...我认为理论上的9999应该是可以接受的...如果您有更好的主意,请告诉我!谢谢,刘 最佳答案 基于Tim的checkdate基于解决方案:使