使用sprintf格式转换字符串以用于DateTime用法

时间:2014-07-31 17:05:31

标签: php

我试图找出如何获取字符串并能够在DateTime中使用它的方法。这是一个例子(由于参数不正确,显然会出错):

$string = sprintf('strtotime("second monday of october", mktime(0, 0, 0, 10, 1, %d))', 2014);
$date = DateTime::createFromFormat('Y-m-d', $string);
echo $date->format('Y-m-d');

我想要实现这一目标的原因是能够根据其他因素确定年份,具体取决于我在班级中的位置:意味着$string将动态创建并将被使用稍后输出日期。我的问题是,是否有替代方案,或者只是不可能,必须预先确定。任何一只手都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

如果你的意思是想要获得充满活力的一年的十月二日,请尝试:

$my_year = 2014;
$string = strtotime(sprintf('second monday of october %d', $my_year));

并使用$string获取格式化日期