답변:
서버 시간이 시간이지나갑니다. 이에 대한 쉬운 해결 방법 date_default_timezone_set
은 date()
또는 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();
Datatime
네임 스페이스 사용과 관련하여 ; 2013 년에 그랬던 지 기억이 나지 않으며 몇 년 동안 PHP 코드를 작성하지 않았습니다. 어쨌든 귀하의 제안이 올바른 것 같습니다. 다시 한 번 감사드립니다.
참조 : 여기 링크가 있습니다
일광 절약 시간으로 인해 하루 또는 한 달의 시간 (초)을 타임 스탬프에 더하거나 빼는 것보다 더 안정적 일 수 있습니다.
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()
기능을 현재의 유닉스 타임 스탬프를받을 수 있습니다.
time()
함수가 반환 한 타임 스탬프 는 시간대와 무관 하다는 점에 주목할 가치가 있습니다. (따라서 date_default_timezone_set("your-particular-timezone");
이전에 전화 해도 효과가 없습니다.)
$_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());
$_SERVER['REQUEST_TIME']
합니까?
PHP의 날짜 함수가이 작업을 수행 할 수 있습니다.
기술:
string date(string $format [, int $timestamp = time()])
주어진 정수 타임 스탬프 또는 타임 스탬프가 제공되지 않은 경우 현재 시간을 사용하여 지정된 형식 문자열에 따라 형식이 지정된 문자열을 반환합니다.
예 :
$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)
$date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
echo $date->format('d-m-Y H:i:s');
최신 정보
//Also get am/pm in datetime:
echo $date->format('d-m-Y H:i:s a'); // output 30-12-2013 10:16:15 am
날짜 형식의 경우 PHP date () 함수 가 유용합니다.
새로운 PHP 프로그래머에게는 왜 현재 날짜와 시간을 얻는 방법이 많고 프로젝트에서 어떤 방법을 사용해야하는지 혼동 될 수 있습니다.
1. date
방법 (PHP 4, PHP 5, PHP 7)
이것은 PHP에서 날짜와 시간을 얻는 가장 일반적이고 가장 쉬운 방법입니다.
// set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');
// Prints something like: Monday
echo date("l");
// Prints something like: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');
// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* use the constants in the format parameter */
// prints something like: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);
// prints something like: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
여기 에서 더 자세히 배울 수 있습니다
2. DateTime
클래스 (PHP 5> = 5.2.0, PHP 7)
OOP와 함께 PHP를 사용하려면 날짜와 시간을 얻는 가장 좋은 방법입니다.
<?php
// Specified date/time in your computer's time zone.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";
// Specified date/time in the specified time zone.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Current date/time in your computer's time zone.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";
// Current date/time in the specified time zone.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Using a UNIX timestamp. Notice the result is in the UTC time zone.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";
// Non-existent values roll over.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>
여기 에서 더 자세히 배울 수 있습니다
3. 탄소 날짜 시간 패키지
당신이 사용하는 경우 작곡가 , Laravel , 심포니 나 좀 틀이 날짜와 시간을 얻을 수있는 가장 좋은 방법입니다. 또한이 패키지는 PHP에서 DateTime 클래스를 확장하므로 Datetime 클래스의 모든 메소드를 사용합니다. 이것은 laravel과 같은 내장 프레임 워크이므로 따로 설치할 필요가 없습니다.
printf("Right now is %s", Carbon::now()->toDateTimeString());
printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver')); // automatically converted to string
$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
// Carbon embed 823 languages:
echo $tomorrow->locale('fr')->isoFormat('dddd, MMMM Do YYYY, h:mm');
echo $tomorrow->locale('ar')->isoFormat('dddd, MMMM Do YYYY, h:mm');
$officialDate = Carbon::now()->toRfc2822String();
$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;
$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London');
$internetWillBlowUpOn = Carbon::create(2038, 01, 19, 3, 14, 7, 'GMT');
if (Carbon::now()->isWeekend()) {
echo 'Party!';
}
echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2 minutes ago'
여기 에서 더 자세히 배울 수 있습니다
이것이 도움이되기를 바랍니다. 날짜와 시간을 얻는 다른 방법을 알고 있다면 대답을 자유롭게 편집하십시오.
사용하다:
$date = date('m/d/Y h:i:s a', time());
효과가있다.
echo date("d-m-Y H:i:sa");
이 코드는 코드가 실행되는 서버의 날짜와 시간을 가져옵니다.
PHP로 현재 날짜 시간을 얻는 방법 (NOW) 기사에 따르면 현재 날짜 를 얻는 두 가지 일반적인 방법이 있습니다. PHP로 현재 날짜 시간 (현재)을 얻으려면 date
모든 PHP 버전 의 클래스를 사용 하거나 datetime
PHP> = 5.2 의 클래스를 사용하는 것이 좋습니다 .
다양한 날짜 형식 표현식이 여기에 있습니다.
이 식은 NOW 형식으로 반환합니다 Y-m-d H:i:s
.
<?php
echo date('Y-m-d H:i:s');
?>
이 식은 NOW 형식으로 반환합니다 Y-m-d H:i:s
.
<?php
$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
?>
<?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)
?>
date(format, timestamp)
이 date
함수는 주어진 정수 타임 스탬프 또는 타임 스탬프가 제공되지 않은 경우 현재 시간을 사용하여 지정된 형식 문자열에 따라 형식이 지정된 문자열을 반환합니다. 다시 말해, timestamp
선택적이며 time () 값으로 기본 설정됩니다.
그리고 매개 변수는-
형식-필수. 타임 스탬프 형식을 지정합니다
timestamp-(선택 사항) 타임 스탬프를 지정합니다. 기본값은 현재 날짜와 시간입니다
date()
함수 의 필수 형식 매개 변수는 형식을 지정하는 방법을 지정합니다 date (or time)
.
날짜에 일반적으로 사용되는 일부 문자는 다음과 같습니다.
다른 문자 "/", ".", or "-"
도 문자 사이에 삽입하여 추가 서식을 추가 할 수 있습니다.
아래 예제는 오늘 날짜를 세 가지 다른 방식으로 형식화합니다.
<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>
다른 타임 스케일을 원하면 다음을 사용하십시오.
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
date_default_timezone_set("Asia/Calcutta");
echo date("Y/m/d H:i:s");
날짜 형식도 다릅니다.
echo date("d/m/Y H:i:sa"); // 13/04/2017 19:38:15pm
이 코드를 사용할 수 있습니다 :
<?php
$currentDateTime = date('Y-m-d H:i:s');
echo $currentDateTime;
?>
또 다른 간단한 방법은 현재 날짜 및 시간의 타임 스탬프를 가져 오는 것입니다. mktime () 함수를 사용하십시오 :
$now = mktime(); // Return timestamp of the current time
그런 다음 이것을 다른 날짜 형식으로 변환 할 수 있습니다.
//// Prints something like: Thursday 26th of January 2017 01:12:36 PM
echo date('l jS \of F Y h:i:s A',$now);
더 많은 날짜 형식은 다음과 같습니다 : http://php.net/manual/en/function.date.php
매우 간단
date_default_timezone_set('Asia/Kolkata');
$date = date('m/d/Y H:i:s', time());
// Set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');
// Prints something like: Monday
echo date("l");
// Prints something like: Monday 8th of August 2016 03:12:46 PM
echo date('l jS \of F Y h:i:s A');
// Prints: July 1, 2016 is on a Saturday
echo "July 1, 2016 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2016));
/* Use the constants in the format parameter */
// Prints something like: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);
// Prints something like: 2016-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
시간에 일반적으로 사용되는 일부 문자는 다음과 같습니다.
a-소문자 앤티 메리 디움 및 포스트 메리 디엠 (오전 또는 오후)
시간대를 잡아
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
이것을 확인하십시오 (선택 사항)
<?php
$d = mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
날짜
<?php
echo "Today is " . date("Y/m/d") . ;
echo "Today is " . date("Y.m.d") . ;
echo "Today is " . date("Y-m-d") . ;
echo "Today is " . date("l");
?>
날짜에 일반적으로 사용되는 일부 문자는 다음과 같습니다.
.
에가 date("Y/m/d") . ;
?
$date = date('m/d/Y h:i:s a', time());