[php] PHP에서 현재 날짜와 시간을 어떻게 얻습니까?

현재 날짜 / 시간을 반환 할 수있는 PHP 함수는 무엇입니까?



답변

서버 시간이 시간이지나갑니다. 이에 대한 쉬운 해결 방법 date_default_timezone_setdate()또는 time()함수를 호출 하기 전에 시간대를 사용하여 수동으로 시간대를 설정하는 것입니다.

저는 호주 멜버른에 있습니다.

date_default_timezone_set('Australia/Melbourne');

또는 다른 예는 LA- US입니다 .

date_default_timezone_set('America/Los_Angeles');

다음을 통해 서버가 현재 시간대를 확인할 수도 있습니다.

date_default_timezone_get();

그래서 같은 :

$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;

따라서 귀하의 질문에 대한 짧은 대답은 다음과 같습니다.

// Change the line below to your timezone!
date_default_timezone_set('Australia/Melbourne');
$date = date('m/d/Y h:i:s a', time());

그런 다음 모든 시간은 방금 설정 한 시간대입니다. 🙂


답변

// Simply:
$date = date('Y-m-d H:i:s');

// Or:
$date = date('Y/m/d H:i:s');

// This would return the date in the following formats respectively:
$date = '2012-03-06 17:33:07';
// Or
$date = '2012/03/06 17:33:07';

/**
 * This time is based on the default server time zone.
 * If you want the date in a different time zone,
 * say if you come from Nairobi, Kenya like I do, you can set
 * the time zone to Nairobi as shown below.
 */

date_default_timezone_set('Africa/Nairobi');

// Then call the date functions
$date = date('Y-m-d H:i:s');
// Or
$date = date('Y/m/d H:i:s');

// date_default_timezone_set() function is however
// supported by PHP version 5.1.0 or above.

시간대 참조 는 지원되는 시간대 목록을 참조하십시오 .


답변

PHP부터 5.2.0다음 DateTime()클래스를 사용할 수 있습니다 .

use \Datetime;

$now = new DateTime();
echo $now->format('Y-m-d H:i:s');    // MySQL datetime format
echo $now->getTimestamp();           // Unix Timestamp -- Since PHP 5.3

그리고 timezone:

$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London'));    // Another way
echo $now->getTimezone();


답변

참조 : 여기 링크가 있습니다

일광 절약 시간으로 인해 하루 또는 한 달의 시간 (초)을 타임 스탬프에 더하거나 빼는 것보다 더 안정적 일 수 있습니다.

PHP 코드

// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone

$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
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)


답변

PHP의 time () 은 현재 유닉스 타임 스탬프를 반환합니다. 이를 통해 date () 함수를 사용하여 필요에 따라 형식을 지정할 수 있습니다 .

$date = date('Format String', time());

의견에서 언급 한 것처럼 Paolo는 두 번째 주장이 불필요합니다. 다음 스 니펫은 위의 스 니펫과 동일합니다.

$date = date('Format String');


답변

당신이 중 하나를 사용할 수있는 $_SERVER['REQUEST_TIME']변수 (PHP 5.1.0부터 사용 가능) 또는 time()기능을 현재의 유닉스 타임 스탬프를받을 수 있습니다.


답변

$_SERVER['REQUEST_TIME']변수 또는 time()함수를 모두 사용할 수 있습니다 . 이 두 가지 모두 유닉스 타임 스탬프를 반환합니다.

이 두 솔루션은 대부분 동일한 Unix Timestamp를 산출합니다 . 이들의 차이점 $_SERVER['REQUEST_TIME']은 가장 최근 서버 요청의 타임 스탬프를 time()반환하고 현재 시간을 반환한다는 것입니다. 응용 프로그램에 따라 약간의 정확도 차이가 발생할 수 있지만 대부분의 경우이 두 솔루션으로 충분합니다.

위의 예제 코드를 기반으로 Unix Timestamp 를 얻은 후에이 정보를 형식화하려고합니다 . 형식화되지 않은 유닉스 시간 은 다음과 같습니다.1232659628

따라서 작동하는 것을 얻기 위해 date()함수를 사용하여 형식을 지정할 수 있습니다 .

date()기능 을 사용하는 방법에 대한 좋은 참고 자료 는 PHP Manual에 있습니다.

예를 들어 다음 코드는 다음과 같은 날짜를 반환합니다. 01/22/2009 04:35:00 pm:

echo date("m/d/Y h:i:s a", time());