source

UNIX 타임스탬프를 포맷된 날짜 문자열로 변환

factcode 2022. 9. 14. 22:13
반응형

UNIX 타임스탬프를 포맷된 날짜 문자열로 변환

PHP를 사용하여 UNIX 타임스탬프를 다음과 같은 날짜 문자열로 변환합니다.2008-07-17T09:24:17Z

다음과 같은 타임스탬프를 변환하려면1333699439로.2008-07-17T09:24:17Z?

다음과 같이 시도합니다.

<?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>

날짜 함수를 사용하다date ( string $format [, int $timestamp = time() ] )

사용하다date('c',time())ISO 8601 날짜(PHP 5에 추가됨)로 변환하는 형식으로 지정합니다.2012-04-06T12:45:47+05:30

사용하다date("Y-m-d\TH:i:s\Z",1333699439)갖기 위해2012-04-06T13:33:59Z

다음은 날짜 함수가 지원하는 형식입니다.

<?php
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
?>

PHP5.3을 사용하고 있다고 가정하면, 날짜를 처리하는 최신 방법은 네이티브 DateTime 클래스를 사용하는 것입니다.전화만 하면 현재 시간을 알 수 있습니다.

$currentTime = new DateTime();

특정 타임스탬프에서 Date Time 개체를 작성하려면(즉, 지금은 작성하지 않음)

$currentTime = DateTime::createFromFormat( 'U', $timestamp );

포맷된 문자열을 가져오려면 다음 호출을 수행합니다.

$formattedString = $currentTime->format( 'c' );

매뉴얼 페이지를 참조해 주세요.

올바른 결과를 얻으려면 기본 시간대를 설정하는 것이 매우 중요합니다.

<?php
// set default timezone
date_default_timezone_set('Europe/Berlin');

// timestamp
$timestamp = 1307595105;

// output
echo date('d M Y H:i:s Z',$timestamp);
echo date('c',$timestamp);
?> 

온라인 변환 도움말: http://freeonlinetools24.com/timestamp

<?php
$timestamp=1486830234542;
echo date('Y-m-d H:i:s', $timestamp/1000);
?>
$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);

이거면 될 거야.

이렇게 하면...

$originalDate = "1585876500";

echo $newDate = date("Y-m-d h:i:sa", date($originalDate));

DateTime 클래스는 생성자에 문자열을 사용합니다.타임스탬프 앞에 @ 문자를 붙이면 타임스탬프가 포함된 DateTime 개체를 만듭니다.공식화에는 사전 정의된 ISO 8601 복합 형식인 'c' 형식을 사용합니다.

이렇게 Date Time 클래스를 사용할 수 있는 경우 올바른 시간대를 설정하거나 UTC 시간을 원할 경우 생략합니다.

$dt = new DateTime('@1333699439');
$dt->setTimezone(new DateTimeZone('America/New_York'));
echo $dt->format('c');

나는 이 대화에 있는 정보가 매우 유용하다는 것을 알았기 때문에 MySQL 데이터베이스의 타임스탬프와 약간의 PHP를 사용하여 어떻게 그것을 알아냈는지 추가하고 싶었다.

 <?= date("Y-m-d\TH:i:s\+01:00",strtotime($column['loggedin'])) ?>

출력: 2017-03-03T08:22:36+01:00

감사합니다. Stewe가 저에게 유레카라고 대답해주셨습니다.

언급URL : https://stackoverflow.com/questions/10040291/converting-a-unix-timestamp-to-formatted-date-string

반응형