2011-09-12 3 views
3

UTC 타임 스탬프 (정수)를 취하고 PHP에서 년, 월, 일에만 구문 분석하는 가장 좋은 방법은 무엇입니까? 감사합니다PHP에서 UTC 타임 스탬프는 년, 월, 일에만 구문 분석합니까?

+0

UTC 타임 스탬프로 "유닉스 타임 스탬프"를 의미합니까? – NullUserException

+0

유닉스 타임 스탬프를 말하는 경우 날짜 기능 (http://de.php.net/manual/en/function.date.php)을 사용하여 구체적인 정보를 수집 할 수 있습니다. 형식화 된 타임 스탬프를 구문 분석하려면 예제를 제공하십시오. – Bjoern

+0

예 : strtotime ("2011-9-12 05:48:00")은 1315806480으로 평가됩니다 ...이 정수를 가져 와서 strtotime ("2011-9-12") 또는 1315785600 – Tyrick

답변

3

PHP date() 함수를 사용하십시오.

날짜() 기능은 사용자의 타임 스탬프를 받아서 사람이 읽을 수에를 나타냅니다

<?php 
$timestamp = strtotime("2011-9-12 05:48:00"); 
$year = date('Y', $timestamp); 
$month = date('m', $timestamp); 
$day = date('d', $timestamp); 
$newTimestamp = mktime(0, 0, 0, $month, $day, $year); 
+0

유닉스 타임 스탬프의 관점에서 값을 반환하지 않습니다 .. 또한 분리 할 필요가 없습니다. 예를 들어 내 글에 댓글을 달았습니다. 감사합니다 – Tyrick

+0

그래, 내가 mktime 대신 strtotime을 사용하는 것으로 나타났습니다 ... – Ofir

+1

오 와우 .. 나는 그 코드의 마지막 줄을 읽지도 않았어 .. 맞아. 나는 그것을 할 방법이라고 생각해. . 감사! – Tyrick

1

DateTime 클래스 편집 작업

<?php 
// for PHP5.2+ though 
var_dump(date_create('2011-9-12 05:48:00')->setTime(0, 0, 0)->format('U')); 
// if input is in integer already 
$input = 1315806480; 
var_dump(date_create("@{$input}")->setTime(0, 0, 0)->format('U')); 
+0

브릿은 유닉스 타임 스탬프로 작업하기 때문에'2011-9-9 ... '대신에'@ 1315806480'을 원할 것입니다. – salathe

+0

lol, 나는 입력이 어떻게 든 ISO 날짜 형식과 비슷할 것이라고 생각했다. – Jeffrey04

+0

질문/의견을 읽지 않았나 싶다. – salathe

-1
<?php 
$time = strtotime(date('Y-m-d', *timestamp*)); 
?> 

이런 종류의 꽤 좋은 년, 월, 일 (예 : "2014-07-25") 만 입력하고시, 분, 초는 생략하십시오.

strtotime() 함수는 사람이 읽을 수있는 문자열을 가져 와서 다시 타임 스탬프로 바꾸어 효과적으로 해당 날짜의 00:00에 시간을 만듭니다.

+1

제발 .. – Shivaay

관련 문제