小编Ale*_*lex的帖子

检查变量是否是PHP的有效日期

我正在编写一个将从CSV文件导入一些数据的脚本.当我这样做时,我希望能够检查变量以查看它是否是有效的日期字符串.

我已经看到了几种检查刺痛是否是日期的方法,但是大多数方法都需要你现在的格式.我不知道日期的格式.

现在我正在使用strtotime(),但这很容易

$field ="May";
if(strtotime($field)){
    echo "This is a date";
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,"May"是人的名字,而不是日期.

任何人都可以推荐更可靠的功能吗?

根据你们中的一些人的问题进行编辑.

对于在我的情况下作为"日期"传递的变量,它需要特定于日/月/年,所以只是"May"将模糊计算.

基于此和Pauls的好点,我们也可以测试一下,看看字符串是否包含数字,例如

$field ="May";
if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){
    echo "This is a date";
}else{
    echo "Nope not a date";
}
Run Code Online (Sandbox Code Playgroud)

这似乎涵盖了我的直接需求,但任何人都可以发现任何问题或建议改进吗?

php date strtotime

39
推荐指数
2
解决办法
7万
查看次数

-moz-linear-gradient,顶部有PNG背景

所以Firefox支持渐变背景.还支持多个背景图像..那么为什么这不起作用?

background:-moz-linear-gradient(top, #5989bd,#336296), url(Active-Arrow.png) right center no-repeat;
Run Code Online (Sandbox Code Playgroud)

还尝试过:

background-color:-moz-linear-gradient(top, #5989bd,#336296);
background:url(Active-Arrow.png) right center no-repeat;    
Run Code Online (Sandbox Code Playgroud)

这可以吗?

css gradient css3

5
推荐指数
1
解决办法
4198
查看次数

使用Chrome/Safari中的History.pushState复制历史记录

我使用来自https://github.com/browserstate/history.js/的 History.js在Chrome和Safari中遇到了一个奇怪的问题

如果我点击几个不同的".node"项目,然后查看我的浏览器历史记录,我每次点击都有重复的条目,需要两次后退按钮才能返回上一个"真实"状态.我添加了一个console.log(id),可以确认该事件只触发一次.

在Firefox中它按预期工作.我只在Chrome和Safari中看到重复的历史记录项.

$( "body" ).delegate( ".node" , "click", function(){
    id = $(this).data('id');
    History.pushState({"Foo":"Bar","ID":id}, "Title for "+ id, "/item-"+id);
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-chrome history.js

3
推荐指数
1
解决办法
1924
查看次数

标签 统计

css ×1

css3 ×1

date ×1

google-chrome ×1

gradient ×1

history.js ×1

javascript ×1

jquery ×1

php ×1

strtotime ×1