2016-07-02 6 views
-1
echo $current_year = date("Y").'<br><br>'; 
echo $string_year = strftime("%Y", strtotime($current_year)); 

date(Year)を文字列に変更したいが、このコードの出力は1970と表示されます。日付型の年を文字列PHPで変更するには?

なぜそれが1970なのか分かりませんか?

今年の作り方は2016です。 助けてください。

+0

'日付( "Y")はので、それはあなたのサーバーに問題があります;' 2016 – Hearner

+0

なぜ物事を複雑に返す必要がありますか?代わりに 'echo $ string_year = strftime("%Y ");'を使うのはどうですか? 1970年になると、日付が無効であることを意味するので、01-01-1970を返します。 – Qirel

+0

最初のエコーと2番目のエコーで見えるものを教えてください。あなたはstrtotime('2016 ')から何を期待していますか? – PaulH

答えて

0

日付全体は、年だけでなく、strtotime()内で渡す必要があります。または、単にタイムスタンプを2番目のパラメータとして渡すこともできます。あなたの問題はstrftime機能が第二のparamとしてtimestampを取るが、あなたは、文字列を渡しているということである

echo $string_year = strftime("%Y", time()); 

OR

echo $string_year = strftime("%Y", strtotime("now")); 
1

はこれを試してみてください。

=> string strftime (string $format [, int $timestamp = time() ]) 

あなたがdate("Y").'<br>'を渡すとき、このように技術的に、これは私たちのPHPが

echo $current_year = date("Y"); 
echo $string_year = strftime("%Y", strtotime($current_year)); 

をやったとき、私は2016を取得し、1970年

されてから動作することをもうtimestampではなく、1年目に、このデフォルト設定しかし、正直なところ、私は$current_year$string_yearの両方が文字列であるため、年を尋ねている理由を理解していない。

echo $current_year = date("Y"); 
echo $string_year = strftime("%Y", strtotime($current_year)); 

echo gettype($current_year); //Output: string 
echo gettype($string_year); //Output: string 
関連する問題