Php 通过触摸功能设置文件日期修改

Php 通过触摸功能设置文件日期修改,php,date,time,Php,Date,Time,我已经阅读了如何设置文件修改日期,但我的日期格式是: $date = "5/11/2017 08:32 PM EST"; 我怎样才能在文件上注明日期 $filename = "text.txt"; if (!touch($filename, $date)) { echo 'Whoops, something went wrong...'; } else { echo 'Touched file with success'; } 用于将其转换为正确的格式: $filename

我已经阅读了如何设置文件修改日期,但我的日期格式是:

$date = "5/11/2017 08:32 PM EST";
我怎样才能在文件上注明日期

$filename = "text.txt";

if (!touch($filename, $date)) {
    echo 'Whoops, something went wrong...';
} else {
    echo 'Touched file with success';
}
用于将其转换为正确的格式:

$filename = "text.txt";

if (!touch($filename, strtotime($date))) {
echo 'Whoops, something went wrong...';
} else {
echo 'Touched file with success';
}
如果您对格式有100%的把握,请使用以确保100%的准确性(无论区域设置或区域):

使用
strotime()
DateTime::createFromFormat()

将其转换为正确的格式,可以看到相同的结果:

$filename = "text.txt";

if (!touch($filename, strtotime($date))) {
echo 'Whoops, something went wrong...';
} else {
echo 'Touched file with success';
}
如果您对格式有100%的把握,请使用以确保100%的准确性(无论区域设置或区域):


使用
strotime()
DateTime::createFromFormat()

strotime
可以将日期字符串转换为Unix时间戳。touch()需要第二个参数为Unix时间戳。这是一种方法,但我建议您使用DateTime方法来确保最佳结果;你还有其他问题需要解决;最好将它们标记为已解决。它们被视为尚未解决/打开。
strotime
可以将日期字符串转换为Unix时间戳touch()需要第二个参数为Unix时间戳。这是一种方法,但我建议您使用DateTime方法来确保最佳结果;你还有其他问题需要解决;最好将它们标记为已解决。它们被视为尚未解决/打开。最好检查OP之前的问题;-)我给了他们一个@Fred ii-我从检查OP之前的问题中得到了什么?我应该做些不同的事情吗?嗯,很多时候,人们会发布很多问题,得到很多解决方案,但不会将它们标记为已解决。他们发帖,得到解决方案,然后跑掉。不确定你是否会在这里看到绿色的勾号,但我可能错了。弗雷德,真实故事:)@Fred ii-那么你是说我应该避免回答不接受答案的海报的问题?最好检查OP之前的问题;-)我给了他们一个@Fred ii-我从检查OP之前的问题中得到了什么?我应该做些不同的事情吗?嗯,很多时候,人们会发布很多问题,得到很多解决方案,但不会将它们标记为已解决。他们发帖,得到解决方案,然后跑掉。不确定你是否会在这里看到绿色的勾号,但我可能错了。弗雷德,真实故事:)@Fred ii-你是说我应该避免回答不接受答案的海报上的问题?