Dönüştürmek tarih formatı yyyy-aa-gg =>

10 Cevap php

Ben yyyy-aa-gg gg-aa-yyyy (ancak SQL) bir tarih dönüştürmek çalışıyorum; ancak ben tarih işlevi bir zaman damgası gerektirir bilmiyorum, ve ben bu dizeden bir zaman damgası alınamıyor.

Bu nasıl mümkün olur?

10 Cevap

strtotime() kullanın ve date():

$originalDate = "2010-03-21";
$newDate = date("d-m-Y", strtotime($originalDate));

(strtotime görmek ve PHP sitede date docs).

(Örneğin strtotime girişinizi ayrıştırmak mümkün değilse) strtotime önlemek isterseniz kullanabilirsiniz

$myDateTime = DateTime::createFromFormat('Y-m-d', $dateString);
$newDateString = $myDateTime->format('d-m-Y');

veya eşdeğeri:

$newDateString = date_format(date_create_from_format('Y-m-d', $dateString), 'd-m-Y'));

Önce biçimi $ dateString Sonra Eğer $ newDateString inç olmak istiyorum biçimi anlatıyorsun inç olduğunu bunu veriyoruz

Kaynak biçimi her zaman "Ymd" (yyyy-mm-dd) ise Veya, o sadece kullanmak DateTime:

<?php
$source = '2012-07-31';
$date = new DateTime($source);
echo $date->format('d.m.Y'); // 31.07.2012
echo $date->format('d-m-Y'); // 31-07-2012
?>
implode('-', array_reverse(explode('-', $date)));

Emin dönüştürme tarih yükü değil, olmadan çok daha önemli olacak.

$newDate = preg_replace("/(\d+)\D+(\d+)\D+(\d+)/","$3-$2-$1",$originalDate);

Bu kod her tarih biçimi için çalışıyor.

Sen yedek değişkenlerin sırasını değiştirebilirsiniz gibi $ 3 - $ 1 - $ 2 nedeniyle eski tarih biçimine.

$timestamp = strtotime(your date variable); 
$new_date = date('d-m-Y', $timestamp);

Daha fazla bilgi için:

http://php.net/manual/en/function.strtotime.php

Hatta kısa:

$new_date = date('d-m-Y', strtotime(your date variable));

Ayrıca başka bir karanlık olasılık:

$oldDate = '2010-03-20'
$arr = explode('-', $oldDate);
$newDate = $arr[2].'-'.$arr[1].'-'.$arr[0];

i kullanmak istiyorsunuz biliyorum ama yine de :) yok

The most voted answer is actually incorrect!

PHP strtotime Kılavuzu (http://www.php.net/manual/en/function.strtotime.php) "işlevi, bir İngiliz tarih biçimini içeren bir dize verilecek beklediğini" belirtiyor. Bunun anlamı, bu tür "GAY" veya "m / d / Y" olarak bir Amerikan ABD tarih biçimini bekliyor olmasıdır.

Yani "Ymd" olarak sunulan bir tarih strtotime tarafından yanlış yorumlandığını alabilirsiniz anlamına gelir. Sen beklenen formatta tarih vermelidir.

Ben çeşitli biçimlerde tarihleri ​​dönmek için küçük bir fonksiyon yazdım. Irade olarak kullanın ve değiştirin. Herkes bir sınıf içine çevirmek yoksa paylaşılan olsaydın, ben memnun olurdum.

function Date_Converter($date, $locale = "br") {

    # Exception
    if (is_null($date))
        $date = date("m/d/Y H:i:s");

    # Let's go ahead and get a string date in case we've been given a Unix Time Stamp
    if ($locale == "unix")
        $date = date("m/d/Y H:i:s", $date);

    # Separate Date from Time
    $date = explode(" ", $date);

    if ($locale == "br") {
        # Separate d/m/Y from Date
        $date[0] = explode("/", $date[0]);
        # Rearrange Date into m/d/Y
        $date[0] = $date[0][1] . "/" . $date[0][0] . "/" . $date[0][2];
    }

    # Return date in all formats
        # US
        $Return["datetime"]["us"]   = implode(" ", $date);
        $Return["date"]["us"]       = $date[0];
        # Universal
        $Return["time"]         = $date[1];
        $Return["unix_datetime"]    = strtotime($Return["datetime"]["us"]);
        $Return["unix_date"]        = strtotime($Return["date"]["us"]);
        $Return["getdate"]          = getdate($Return["unix_datetime"]);
        # BR
        $Return["datetime"]["br"]   = date("d/m/Y H:i:s", $Return["unix_datetime"]);
        $Return["date"]["br"]       = date("d/m/Y", $Return["unix_date"]);

    # Return
    return $Return;


} # End Function

Aşağıda verilen mktime() kullanarak yarının tarihini oluşturmak ve dd/mm/yyyy biçiminde onun biçimini değiştirmek ve ardından echo kullanarak yazdırmak için PHP kodu olduğunu.

$tomorrow = mktime(0, 0, 0, date("m"), date("d") + 1, date("Y"));
echo date("d", $tomorrow) . "/" . date("m", $tomorrow). "/" . date("Y", $tomorrow);

I think this is function in Php that you need. strtotime. http://php.net/manual/en/function.strtotime.php

Nasıl u Mysql formatında tarih gerekiyor?

date ('m / d / Y h: i: s', strtotime ($ val ['eventDateTime']))