首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dateTime在php中的挣扎,当作为字符串传递时如何检查

dateTime在php中的挣扎,当作为字符串传递时如何检查
EN

Stack Overflow用户
提问于 2013-10-23 21:57:37
回答 2查看 166关注 0票数 0

我在Symofny2应用程序中的php方法中有一个varible作为字符串传递:

代码语言:javascript
运行
复制
public function eventAllByScenarioAndDateAction($apiVersion, $scenario,$date, $options)

然后,$date必须是格式为YYYY-MM-DD HH:MM:SS的DateTime类型,才能传递它,以便使用sql查询填充表。

我想检查一下传递的格式是否正确,所以我把控件:

代码语言:javascript
运行
复制
$dateControl1=strtotime($date);

然后是if语句:

代码语言:javascript
运行
复制
if ($dateControl1 === false)

但是,只有当我发送2013-33-01之类的内容时," if“才会设置为false,例如,如果我切断了HH:MM:SS,则设置为false

那么,我如何检查$date是如何传递给方法的,例如,如果我只有YYYY-MM-DD (但正确)或整个YYYY-MM-DD HH:MM:SS,那么它会有不同的行为吗

同样,如何丢弃与预期格式不同的格式(例如使用/而不是-etc)。

EN

回答 2

Stack Overflow用户

发布于 2013-10-23 22:01:39

没有必要那么具体。下面的代码运行得很好:

代码语言:javascript
运行
复制
$foo = new DateTime("2013-01-01");
$bar = new DateTime("2013-01-01 01:23:45");
echo $foo->format("Y-m-d H:i:s"); // 2013-01-01 00:00:00
echo $bar->format("Y-m-d H:i:s"); //2013-01-01 01:23:45

如果您主要关心的是无效日期,请使用try/catch子句:

代码语言:javascript
运行
复制
try {
    $baz = new DateTime("foobar");
} catch (Exception $e) {
    // do something else here
    // like throwing an HTTP Exception
}
票数 0
EN

Stack Overflow用户

发布于 2013-10-29 18:36:22

实际上,@nietonfir解决方案对我来说很好:

代码语言:javascript
运行
复制
try { $dateNew = new \DateTime('$date'); } catch (\Exception $e) { echo return $e;  }

(请注意"\“之前的一些声明,以绕过symofny异常),因为如果有人只通过YYYY-mm-dd的日期是完成00:00:00小时,但我想做的是检查什么是$date,然后再验证它!

举个例子

代码语言:javascript
运行
复制
SOMETHING THAT CHECKIN DATE IF ITS yyyy-mm-dd `hh:mm:ss OR just yyyy-mm-dd
and THEN IF WE ARE IN THE SECOND CASE DOING SOMETHING BEFORE doing

try { $dateNew = new \DateTime('$date'); } catch (\Exception $e) { echo return $e;  }

方法如下:

代码语言:javascript
运行
复制
list($date1, $time) = explode("  ",$date);

不起作用,因为如果我们在yyyy-mm-dd的情况下,空格“”无法识别,并且它会引发一个异常,如下所示:

代码语言:javascript
运行
复制
Notice: Undefined offset: 1 in...........
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19543742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档