2012-04-06 4 views

답변

234

이 시도 참조 :

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

'gmdate()'는 GMT로 날짜/시간을 반환하지 않습니다. 'date()'는 지역 날짜/시간을 반환합니다. –

+4

위의 설명은이 문맥에서 의미가 없습니다. 두 번째 매개 변수와 함께 날짜를 타임 스탬프로 사용하면 answer로 표시된 것처럼 현지 시간대로 날짜가 인쇄되지 않습니다. 시간대 정보가 무시 된 날짜가 인쇄됩니다. 원인은 시간대 정보에 시간대 정보가 없기 때문입니다. gmdate 및 두 번째 타임 스탬프 매개 변수가있는 날짜 (1333699439)는 동일한 날짜 시간을 인쇄합니다. –

+0

@MattK : Z가 UTC를 나타 내기 때문에 어떤 의미가 있습니다. Tinus : 유닉스 타임 스탬프에는 시간대 오프셋이 없습니다. 'date'와'gmdate'의 출력은 TZ 변수에 따라 달라질 것입니다 (적어도 * nix에서) –

92

사용 날짜 기능 date (string $format [, int $timestamp = time() ])

사용 date('c',time())이 ISO에 8601 날짜를 변환하는 형식으로 (PHP 5에서 추가) - 여기 2012-04-06T13:33:59Z

얻을 2012-04-06T12:45:47+05:30

사용 date("Y-m-d\TH:i:s\Z",1333699439)는 형식 날짜의 일부입니다 함수가 지원됩니다.

<?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 
?> 
+0

어떻게하면 'c'로 특정 타임 스탬프로 변환 할 수 있습니까? 예 : 1333699439 –

+1

날짜 ('c', 1333699439) –

+0

이 문제가 해결 되었습니까? –

38

PHP5.3을 사용하면 날짜를 처리하는 현대적인 방법은 기본 DateTime class을 통해 이루어집니다. 포맷 된 문자열을 얻으려면 (즉, 지금은) 당신은 단지 특정 타임 스탬프에서 DateTime 개체를 만들려면

$currentTime = new DateTime(); 

를 호출 할 수 있습니다 현재 시간

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

를 얻으려면 다음 호출 할 수 있습니다

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

manual page here

+1

어떻게이 특정 타임 스탬프로 변환 할 수 있습니까? 예를 들면 1333699439 –

+0

@Norse 물론 그의 글을 읽었습니다. 그가 필요한 모든 정보는 내 게시물에있었습니다. 그가해야만하는 것은 DateTime 객체에 대한 PHP 문서를 읽는 것뿐입니다. 내 게시물을 더 명확하게 편집했습니다. DateTime 객체는 PHP로 이동하는 방법이며 모든 초보자는이를 사용하도록 권장해야합니다. 아직, 나는 그 대답을 제공 한 유일한 사람이다. Btw 나는 귀하의 의견을 조금 공격적으로 생각하지 않습니다. – liquorvicar

+0

@Ahmetvardar이 모든 것은 내가 링크를 제공 한 PHP 문서에 있지만 편집을 참조하십시오. DateTime 개체를 사용하기를 강력히 권합니다. 시간대 등을 포함한 날짜/시간에 대한 우수한 지원을 제공합니다. – liquorvicar

11

올바른 결과를

<?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); 
?> 

온라인 변환 도움을받을 수있는 기본 시간대를 설정하는 것이 매우 중요합니다.

모든 언어가 가능합니다. Epoch & 유닉스 타임 스탬프.

+1

ISO8601에서'Z'는 UTC 시간임을 나타 내기 위해 사용되기 때문에 시간대는'UTC'로 설정되어야합니다 –

1
<?php 
$timestamp=1486830234542; 
echo date('Y-m-d H:i:s', $timestamp/1000); 
?> 
0

은 난 그냥 내 MySQL 데이터베이스에서 타임 스탬프와

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

출력은이었다 조금 PHP를 사용하여 내가 그것을 알아 낸 방법을 추가하고 싶었 너무 도움이 대화의 정보를 발견 : 2017-03-03T08 : 22 : 36 + 01 : 00

대단히 감사합니다. Stewe에 대한 답변은 나를위한 유레카였습니다.

관련 문제