Neden farklı?

4 Cevap php
echo date("w",strtotime(date("Y-m-d")));
echo date("w",strtotime(date("Y年m月d日")));

Utf8.You olarak kaydetmek ', ikinci ilki daha büyük olduğunu görürsünüz.

4 Cevap

Maske,

muhtemelen strtotime düzgün japon format tarih ayrıştırmak mümkün değildir çünkü.

Benim düşünceme göre, belgeleri okuyarak o - ile format tarih kabul ediyorum ama bu açıkça ifade değil.

var_dump(strtotime(date("Y年m月d日")); belgelerinde gibi false böylece vermeye çalışıyorum strtotime bunu ayrıştırmak için başarısız gibi görünüyor.

böylece tarih aynı sonucu vermez false üzerinde uygulayın.

"Büyük" Ne demek "daha bayt kullanır" tarafından eğer UTF8 değişken karakter boyutuna bir kodlama beacause, bu kadar. A - 年 en az iki ile kodlanmış olacak ise karakteri, tek bir bayt ile kodlanır. Buraya bakın: http://en.wikipedia.org/wiki/Utf8

Asıl sorun strtotime ABD biçiminde geçerli bir tarih expection olduğunu (burada readyble http://php.net/manual/en/function.strtotime.php)

Bunu çözmek için fonksiyon strftime kullanabilirsiniz

    echo date("w",strftime(date("Y年m月d日")));
    echo date("w",strftime(date("Y-m-d")));

UTF-8 temsil zaman tire tek bayt alırken Asya karakterleri, 2 veya daha fazla bayt alır.