복붙노트

MySQL datetime에서 PHP로 다른 형식으로 변환

PHP

MySQL datetime에서 PHP로 다른 형식으로 변환

MySQL에는 날짜 시간 열이 있습니다.

mm / dd / yy H : M (AM / PM)으로 PHP를 사용하여 디스플레이로 변환하는 방법은 무엇입니까?

해결법

  1. ==============================

    1.날짜를 MySQL 형식으로 정규화하는 방법을 찾고 있다면 다음을 사용하십시오

    날짜를 MySQL 형식으로 정규화하는 방법을 찾고 있다면 다음을 사용하십시오

    $phpdate = strtotime( $mysqldate );
    $mysqldate = date( 'Y-m-d H:i:s', $phpdate );
    

    $ phpdate = strtotime ($ mysqldate) 행은 문자열을 받아들이고 해당 문자열을 유닉스 타임 스탬프로 바꾸는 일련의 발견 적 방법을 수행합니다.

    $ mysqldate = date ( 'Y-m-d H : i : s', $ phpdate) 라인은 타임 스탬프와 PHP의 date 함수를 사용하여 타임 스탬프를 MySQL의 표준 날짜 형식으로 되돌립니다.

    (편집자 주 :이 답변은 혼란스러운 문구가있는 원래 질문과이 답변이 현재 존재하는 질문에 직접 답장하지 않은 경우에도 제공되는 일반적인 Google 유용성 때문에 여기에 있습니다)

  2. ==============================

    2.MySQL에서 검색 한 날짜를 요청한 형식 (mm / dd / yy H : M (AM / PM))으로 변환하려면 다음을 수행하십시오.

    MySQL에서 검색 한 날짜를 요청한 형식 (mm / dd / yy H : M (AM / PM))으로 변환하려면 다음을 수행하십시오.

    // $datetime is something like: 2014-01-31 13:05:59
    $time = strtotime($datetimeFromMysql);
    $myFormatForView = date("m/d/y g:i A", $time);
    // $myFormatForView is something like: 01/31/14 1:05 PM
    

    형식을 조정하려면 PHP 날짜 형식 옵션을 참조하십시오.

  3. ==============================

    3.PHP 5를 사용하고 있다면,

    PHP 5를 사용하고 있다면,

    $oDate = new DateTime($row->createdate);
    $sDate = $oDate->format("Y-m-d H:i:s");
    
  4. ==============================

    4.

    $valid_date = date( 'm/d/y g:i A', strtotime($date));
    

    참조 : http://php.net/manual/en/function.date.php

  5. ==============================

    5.마지막으로 PHP 5.3 이상에 적합한 솔루션 :

    마지막으로 PHP 5.3 이상에 적합한 솔루션 :

    $date = \DateTime::createFromFormat('Y-m-d H:i:s', $mysql_source_date);
    echo $date->format('m/d/y h:i a');
    
  6. ==============================

    6.더 쉬운 방법은 PHP 대신 MySQL 쿼리에서 날짜를 직접 포맷하는 것입니다. DATE_FORMAT에 대한 MySQL 매뉴얼 항목을 참조하십시오.

    더 쉬운 방법은 PHP 대신 MySQL 쿼리에서 날짜를 직접 포맷하는 것입니다. DATE_FORMAT에 대한 MySQL 매뉴얼 항목을 참조하십시오.

    PHP에서 오히려이를 수행하려면 날짜 함수가 필요하지만 데이터베이스 값을 먼저 타임 스탬프로 변환해야합니다.

  7. ==============================

    7.모두 잊어 버려. 그냥 사용 :

    모두 잊어 버려. 그냥 사용 :

    $date = date("Y-m-d H:i:s",strtotime(str_replace('/','-',$date)))
    
  8. ==============================

    8.MySQL에 저장하기 위해 PHP에서 DateTime 객체의 형식을 올바르게 지정하려면 MySQL이 사용하는 ISO 8601 표준 형식을 사용하십시오.

    MySQL에 저장하기 위해 PHP에서 DateTime 객체의 형식을 올바르게 지정하려면 MySQL이 사용하는 ISO 8601 표준 형식을 사용하십시오.

    PHP는 버전 5.1.1부터이 형식을 상수로 저장했습니다. 매번 수동으로 문자열을 입력하는 대신이 형식을 사용하는 것이 좋습니다.

    $dtNow = new DateTime();
    $mysqlDateTime = $dtNow->format(DateTime::ISO8601);
    

    이것과 다른 PHP DateTime 상수 목록은 http://php.net/manual/en/class.datetime.php#datetime.constants.types에서 볼 수 있습니다.

  9. ==============================

    9.이것은 SQL 쿼리에서 필드의 형식을 지정해야합니다.

    이것은 SQL 쿼리에서 필드의 형식을 지정해야합니다.

    SELECT DATE_FORMAT( `fieldname` , '%d-%m-%Y' ) FROM tablename
    
  10. ==============================

    10.날짜 함수 사용 :

    날짜 함수 사용 :

    <?php
        echo date("m/d/y g:i (A)", $DB_Date_Field);
    ?>
    
  11. ==============================

    11.MySQL datetime 구성에 따라 다릅니다. 일반적으로 2011-12-31 07:55:13 형식입니다. 이 아주 간단한 함수는 마술을해야합니다 :

    MySQL datetime 구성에 따라 다릅니다. 일반적으로 2011-12-31 07:55:13 형식입니다. 이 아주 간단한 함수는 마술을해야합니다 :

    function datetime()
    {
        return date( 'Y-m-d H:i:s', time());
    }
    
    echo datetime(); // display example: 2011-12-31 07:55:13
    

    또는 조금 더 질문에 맞게 진행하십시오.

    function datetime($date_string = false)
    {
        if (!$date_string)
        {
            $date_string = time();
        }
        return date("Y-m-d H:i:s", strtotime($date_string));
    }
    
  12. ==============================

    12.

    SELECT 
     DATE_FORMAT(demo.dateFrom, '%e.%M.%Y') as dateFrom,
     DATE_FORMAT(demo.dateUntil, '%e.%M.%Y') as dateUntil
    FROM demo
    

    PHP 코드의 모든 함수를 변경하고 싶지 않을 경우 예상 날짜 형식을 표시하려면 소스 (데이터베이스)에서 변경하십시오.

    위 예제에서와 같이 as 연산자를 사용하여 행에 이름을 지정하는 것이 중요합니다 (dateFrom, dateUntil과 같이). 거기에 쓰는 이름은 이름이고 결과에 행이 호출됩니다.

    이 예제의 결과는 다음과 같습니다.

    [월의 일, 숫자 (0..31)]. [월 이름 (1 월 ... 12 월)]. [연도, 숫자, 4 자리 숫자]

    예 : 2011 년 5 월 5 일

    선택한 구분 기호로 점을 변경하고 더 많은 날짜 형식에 대해 DATE_FORMAT (날짜, 형식) 함수를 확인하십시오.

  13. ==============================

    13.또한 쿼리가 유닉스 타임 스탬프로 시간을 반환하게 할 수도 있습니다. 그게 strtotime ()을 호출하고 PHP 쪽에서 좀 덜 집중적으로 할 필요를 제거 할 것입니다 ...

    또한 쿼리가 유닉스 타임 스탬프로 시간을 반환하게 할 수도 있습니다. 그게 strtotime ()을 호출하고 PHP 쪽에서 좀 덜 집중적으로 할 필요를 제거 할 것입니다 ...

    select  UNIX_TIMESTAMP(timsstamp) as unixtime from the_table where id = 1234;
    

    그런 다음 PHP에서 date () 함수를 사용하여 원하는대로 형식을 지정하십시오.

    <?php
      echo date('l jS \of F Y h:i:s A', $row->unixtime);
    ?>
    

    또는

    <?php
      echo date('F j, Y, g:i a', $row->unixtime);
    ?>
    

    이 접근법은 MySQL의 DATE_FORMAT 함수를 사용하는 것과는 대조적으로, 데이터를 가져 오기 위해 동일한 쿼리를 재사용 할 수 있고 PHP에서 형식을 변경할 수 있기 때문에 좋습니다.

    UI에서 날짜가 표시되는 방식을 변경하기 위해 두 가지 다른 쿼리를 사용하는 것은 성가신 일입니다.

  14. ==============================

    14.유닉스 타임 스탬프에서 반환되지 않은 날짜에 문제가 생길 수 있습니다.

    유닉스 타임 스탬프에서 반환되지 않은 날짜에 문제가 생길 수 있습니다.

    return date("F j, Y g:i a", strtotime(substr($datestring, 0, 15)))
    
  15. ==============================

    15.이것은 작동합니다 ...

    이것은 작동합니다 ...

    echo date('m/d/y H:i (A)',strtotime($data_from_mysql));
    
  16. ==============================

    16.PHP 버전 4.4.9 및 MySQL 5.0을 사용하여 다음과 같이 작동했습니다.

    PHP 버전 4.4.9 및 MySQL 5.0을 사용하여 다음과 같이 작동했습니다.

    $oDate = strtotime($row['PubDate']);
    $sDate = date("m/d/y",$oDate);
    echo $sDate
    

    PubDate는 MySQL의 칼럼입니다.

  17. ==============================

    17.

    $date = "'".date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $_POST['date'])))."'";
    
  18. from https://stackoverflow.com/questions/136782/convert-from-mysql-datetime-to-another-format-with-php by cc-by-sa and MIT license