-1

私の文字列:

10:44 13/7

私が必要とするもの:

2012-07-13

私がこれを行うことができる方法はありますか?年は常に現在の年になります。

現在、私は持っています:

$string = '10:44 13/7';
$string = explode("/", $string);
$date = date('Y') . '-' . $string[0] . '-'. $string[1];

どうもありがとう

解決のためのitsmeに感謝します:

        $updated = explode(" ", $updated);
        $updated[1] = explode("/", $updated[1]);

        $y = date('Y');
        $m = $updated[1][1];
        $d = $updated[1][0];

        $updated = $y . '-' . $m . '-' . $d;

        echo $updated;

この質問を評価するのは少し厳しいと思います...私たちの中には、他の人ほど文字列操作に精通しておらず、PHPを理解し始めている人もいます。この質問をマークダウンしたい場合は、stackoverflowが適切でないか、学習しようとしている人を小さく感じさせるのではなく、ハードコアな質問に答えてみてください。はい、あなたはあなたが誰であるかを知っています。

4

2 に答える 2

2

おそらくより短い方法ですが、これでうまくいきます:

$string = '10:44 13/7';

list($junk, $date) = explode(' ', $string);
list($day, $month) = explode('/', $date);
$full_date = date('Y-m-d', strtotime(date('Y') . "-{$month}-{$day}"));
echo $full_date; //2012-07-13
于 2012-07-13T12:21:25.643 に答える
0

最もエレガントな方法ではありませんが、うまくいくはずです:

$string = "10:44 13/7/" + date("y");
echo date("y-m-d", strtotime($string));
于 2012-07-13T12:03:00.830 に答える