Twitter API DateStamp Ayrıştırma

4 Cevap php

Ben durum güncellemeleri ve yaratıldıkları kez bir listesini döndürmek için twitter API kullanıyorum. Bu aşağıdaki biçimde oluşturma tarihini dönen ediyor:

Cum 9 Nisan 00:53:54 +0000 2010

09-04-2010 gibi bu biçimlendirmek için (PHP veya Javascript ile) en basit yolu nedir?

4 Cevap

strtotime("dateString"); o zaman bunu istiyorum nasıl baskılı almak için date() fonksiyonu ile çalışabilir, yerli PHP tarih biçimi içine alır.

Javascript. @ Andy işaret ettiği gibi, bu IE geldiğinde bir orospu olacak. Yani bunu sürekli yapan bir kütüphane güvenmek en iyisidir. DateJS güzel bir kütüphane gibi görünüyor.

Kütüphane eklendikten sonra, ayrıştırmak ve biçimlendirmek olacaktır:

var date = Date.parse("Fri Apr 09 12:53:54 +0000 2010");
var formatted = date.toString("dd-MM-yyyy");

PHP Eğer (PHP 5.2.0 'dan beri mevcut) aynı şeyi tarih işlevleri veya DateTime sınıfını kullanabilirsiniz:

$date = new DateTime("Fri Apr 09 12:53:54 +0000 2010");
echo $date->format("d-m-Y"); // 09-04-2010

Çapraz tarayıcı, JavaScript üzerinden zaman dilimi-farkında ayrıştırma:

var s = "Fri Apr 09 12:53:54 +0000 2010";

var date = new Date(
    s.replace(/^\w+ (\w+) (\d+) ([\d:]+) \+0000 (\d+)$/,
        "$1 $2 $4 $3 UTC"));

IE, Firefox, Safari, Chrome ve Opera üzerinde test edilmiştir.

Eğer dizeden +0000 kaldırmak Javascript bu tarihi ayrıştırmak:

var dStr = "Fri Apr 09 12:53:54 +0000 2010";
dStr = dStr.replace("+0000 ", "") + " UTC";
var d = new Date(dStr);

Krom - ve bazı diğer sivil IE tarayıcıları şüpheli - aslında dizesinde +0000 ile mevcut ayrıştırmak olabilir, ama siz de birlikte çalışabilirlik için kaldırabilirsiniz.

PHP strtotime ile tarih ayrıştırmak:

strtotime("Fri Apr 09 12:53:54 +0000 2010");