속에는 날짜 및 시간 반환하는 함수를 PHP 는 mysql 과 동일한 형식으로 () 함수 '지금'?
I know how to do it ',' 날짜 () 함수를 사용하여 하지만 나는 이 경우에만 묻는 것은 없다.
예를 들어, 반환되기를:
2009-12-01 00:00:00
Php 버전 함께 > = 5.4tb [DateTime] (http://php.net/datetime) 할 수 있는 이 -
echo (new \DateTime())->format('Y-m-d H:i:s');
[볼 수 있어 apc®] (http://3v4l.org/EABlV).
$now = date_create()->format('Y-m-d H:i:s');
아래 검토완료 장기간 대답.
< hr>; < hr>; < hr>;
이 목록은 방식으로 PHP, MySQL 모방한 '지금' () 함수.
// relative date
$now = date_create('now')->format('Y-m-d H:i:s'); // works in php 5.2 and higher
$now = date_create()->format('Y-m-d H:i:s'); // also works in php 5.2
$now = new DateTime('now')->format('Y-m-d H:i:s'); // syntax error!!!
$now = (new DateTime('now'))->format('Y-m-d H:i:s'); // works in php 5.4 and higher
$now = date('Y-m-d H:i:s'); // works as well, but it's less nice then date_create()
// From Unix timestamp
// Using date_create() with a Unix timestamp will give you a FALSE,
// and if you try to invoke format() on a FALSE then you'll get a:
// Fatal error: Call to a member function format() on boolean
// So if you work with Unix timestamps then you could use: date_create_from_format().
$unixTimeStamp = 1420070400; // 01/01/2015 00:00:00
$y2015 = date_create_from_format('U', $unixTimeStamp, timezone_open('Europe/Amsterdam'))->format('Y-m-d H:i:s');
$y2015 = date('Y-m-d H:i:s', $unixTimeStamp);
나도 그렇게 생각해 'date_create -> 형식 (& # 39, y 메가 d h:i:s& # 39;), () 는 가장 좋은 방법은' 이 시간대 보다 쉽게 날짜 / 시간 때문에 외곽진입 처리할 수 있습니다 (& # 39, y 메가 d h:i:s& # 39;) '조작' 와 작동하잖아 이후 php 5.2.
< hr>;
Mysql 함수 () 는 '지금' 이 형식으로 날짜 / 시간 값이: # 39, & # 39 년-월-일 HH:MM:SS& ','. 볼 수 있습니다. https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html # function_now.
흥미로운 사실은 it& # 39 의 형식을 datetime 이 질의에서는 실행하여 얻을 수 있습니다. # 39, & # 39 d%e_format& com/go/4e6b330a_kr 'SHOW' 등, 그 결과 이 같은 일이 될 수 있다.
Variable_name Value
date_format %Y-%m-%d
datetime_format %Y-%m-%d %H:%i:%s
여기에 변수가 com/go/4e6b330a_kr 읽기 전용입니다. # 39 t 바꾸라고요 can& 합니다.
그건 MySQL '지금' 에서 '가 # 39 의 형식 ()' 기능을 it& datetime_format 변수다.
< hr>;
좋은 date_create (& # 39, now& # 39;) '이 사실을 ->, 형식 (& # 39, y 메가 d h:i:s& # 39;)' 오버 ' (& # 39, y 메가 d h:i:s& # 39;)' 이 날짜:
'수' date_create () 은 상대 날짜 / 시간 형식 (같은 날 '' 지금 ',' 어제 '또는' +1) 지켜보리니 이 링크 (예:
$tomorrow = date_create('+1 day')->format('Y-m-d H:i:s');
'날짜 () 는 다음과 같은 형식을 사용할 수 있는' 뿐만 아니라, 상대 날짜 / 시간
$tomorrow = date('Y-m-d H:i:s', strtotime('+1 day'));
$tomorrow = date('Y-m-d H:i:s', (time() + 86400)); // 86400 seconds = 1 day
그 때 일이 시간대 () 는 형식 () ',' date_create -> 사용 후 많은 감지에서 '때문에' () '는 기본 시간대에 데이트였어 날짜 ()' 에서 '파피니 구성되는' 의 '' 다테스타임소네 디렉티브을. 링크: http://php.net/manual/en/datetime.configuration.php # 니콜다테스타임소네.
런타임 중에 시간대 변경할 수 있습니다. 예:
'date_default_timezone_set (& # 39, Asia/Tokyo& # 39,),'.
그러나 그 영향을 줄 것이라는 게 모든 날짜 / 시간 총괄하였습니다. # 39 이 문제를 doesn& 사용하는 경우, t 가 date_create -> 형식 () ',' () 과 함께 'timezone_open ()'.
PHP 는 주요 시간대. 재미있는 것은 이 up1 북극권, 그리고 심지어 안타티카. 롱위에아르뷔엔 전해들은 '적'? 그렇지 않으면 don& # 39 건, t, 괜찼습니다 내가 보살피되 I read the 공식 PHP 문서용으로.
$nowLongyearbyen = date_create('now', timezone_open('Arctic/Longyearbyen'))->format('Y-m-d H:i:s');
지원되는 모든 시간대 목록을 참조. http://php.net/manual/en/timezones.php.
O. (o. 스테이드 전체 객체에는 사용합니다. 그래서 나는 이런 식으로 생각하는 것을 선호한다.
// Create a DateTime Object.
// Use the DateTime that applies for tomorrow.
// Give me the datetime in format 'Y-m-d H:i:s'
$tomorrow = date_create('+1 day')->format('Y-m-d H:i:s');
이렇게 해서 그런 것 같다.
// Give me a date time string in format 'Y-m-d H:i:s',
// use strtotime() to calculate the Unix timestamp that applies for tomorrow.
$tomorrow = date('Y-m-d H:i:s', strtotime('+1 day'));
그러므로 내가 할 말이 없다 ',' () 는 date_create -> 형식 () 는 더 잘 외곽진입 다는일은 어졌다면 '날짜 ()'.
< hr>;
대출금리의 사실을 date_create () '' 새 '를 통해 날짜 시간 ()' 다음과 같습니다.
If you want to new 키워드를 사용하여 작업할 수 있는 그런 DateTime 객체에는 네임스페이스이며 초기화 해야 할 다음과 같습니다.
namespace my_namespace;
// The backslash must be used if you are in a namespace.
// Forgetting about the backslash results in a fatal error.
$dt = new \DateTime();
이 위의 것은 별 문제가 있지만 때때로 사람들이 잊고 백슬래시 정보 등이 있다. '너' () 함수를 사용하여 date_create 구성자를 don& # 39, t 네임스페이스을 걱정할 필요가 없다.
$dt = date_create(); // in or not in a namespace it works in both situations
< hr>;
난 내 프로젝트를 칠하려면 어레이에서는 할 경우 이 방법을 사용합니다. 다음과 같습니다.
$array = array(
'name' => 'John',
'date_time' => date_create('now')->format('Y-m-d H:i:s'), // uses the default timezone
'date_time_japan' => date_create('now', timezone_open('Asia/Tokyo'))->format('Y-m-d H:i:s'),
);
내가 한 번 더 쉽게 답을 찾을 수 있습니다.
echo date('c');
// 2015-07-27T00:00:00+02:00
MySQL 에서 datetime 기본적으로 시간대 5.7 허용하지 않습니다. '=' SQL_MODE ALLOW_INVALID_DATES 오류로 사용 안 함으로 설정할 수 있습니다. 그 자세한 내용을 보려면 여기를 참조. . https://stackoverflow.com/a/35944059/2103434 하지만 그 또한, 해당 시간대 손실됩니다 저장할 때 데이터베이스입니까!
기본적으로 system& 시간대, PHP, MySQL 은 같은 시간대 및 deltamove s # 39 는 그땅은 있어야 합니다. 저의 경우는 CET / UTC + 2.
즉, 만약 내가 ',' 만 '데이터베이스' 를 삽입하십시오 2015-07-27T00:00:00+02:00 00 00 27t00 2015 07 저장됩니까 (그러나 이는 올바른 현지 시간을!).
내가 언제 시간 후에 다시 로그인하십시오 읽어들입니다 PHP,
$importedDate = new \DateTime('2015-07-27T00:00:00')
it 's' 가 자동으로 solaris. it& # 39, 이후 +02:00 it& 시간대 # 39 의 기본값입니다. 이 인쇄면이 다시 올바르게 됩니다.
echo $importedDate->format('c');
// 2015-07-27T00:00:00+02:00
date_default_timezone_set('UTC');
$importedDate = new \DateTime('2015-07-27T00:00:00+02:00');
echo $importedDate->format('c');
// 2015-07-27T00:00:00+02:00
$importedDate->setTimezone(new \DateTimeZone("America/New_York"));
echo $importedDate->format('c');
// 2015-07-26T18:00:00-04:00
'DateTime' 상수입니다 또는 사용할 수 있습니다.
echo date(DateTime::W3C); // 2005-08-15T15:52:01+00:00
ATOM = "Y-m-d\TH:i:sP" ; // -> 2005-08-15T15:52:01+00:00
COOKIE = "l, d-M-Y H:i:s T" ; // -> Monday, 15-Aug-2005 15:52:01 UTC
ISO8601 = "Y-m-d\TH:i:sO" ; // -> 2005-08-15T15:52:01+0000
RFC822 = "D, d M y H:i:s O" ; // -> Mon, 15 Aug 05 15:52:01 +0000
RFC850 = "l, d-M-y H:i:s T" ; // -> Monday, 15-Aug-05 15:52:01 UTC
RFC1036 = "D, d M y H:i:s O" ; // -> Mon, 15 Aug 05 15:52:01 +0000
RFC1123 = "D, d M Y H:i:s O" ; // -> Mon, 15 Aug 2005 15:52:01 +0000
RFC2822 = "D, d M Y H:i:s O" ; // -> Mon, 15 Aug 2005 15:52:01 +0000
RFC3339 = "Y-m-d\TH:i:sP" ; // -> 2005-08-15T15:52:01+00:00 ( == ATOM)
RFC3339_EXTENDED = "Y-m-d\TH:i:s.vP" ; // -> 2005-08-15T15:52:01.000+00:00
RSS = "D, d M Y H:i:s O" ; // -> Mon, 15 Aug 2005 15:52:01 +0000
W3C = "Y-m-d\TH:i:sP" ; // -> 2005-08-15T15:52:01+00:00
내가 한 포지셔닝하십시오 디버깅을 위한 짧은 표시되어도 (3v4l.org).
echo date('ymd\THisP'); // 180614T120708+02:00
I like it 솔루션 및 I& user1786647 올린 # 39, ve 업데이트되도록 함수 인수를 위해 조금 변경하십시오 시간대 및 추가 지원 (옵션) 중 하나를 사용할 수 시간 또는 datetime 문자열이어야 반군지역 bsbab-unix 반환되었습니다 날짜 기록.
또한, setTimestamp" " 위한 대체 포함되어 있습니다. 실행 중인 버전 보다 낮은 사용자를 위해 php 5.3.
function DateStamp($strDateTime = null, $strTimeZone = "Europe/London") {
$objTimeZone = new DateTimeZone($strTimeZone);
$objDateTime = new DateTime();
$objDateTime->setTimezone($objTimeZone);
if (!empty($strDateTime)) {
$fltUnixTime = (is_string($strDateTime)) ? strtotime($strDateTime) : $strDateTime;
if (method_exists($objDateTime, "setTimestamp")) {
$objDateTime->setTimestamp($fltUnixTime);
}
else {
$arrDate = getdate($fltUnixTime);
$objDateTime->setDate($arrDate['year'], $arrDate['mon'], $arrDate['mday']);
$objDateTime->setTime($arrDate['hours'], $arrDate['minutes'], $arrDate['seconds']);
}
}
return $objDateTime->format("Y-m-d H:i:s");
}
Php 내장현 없다 () '기능을 사용하여 해당 확장하지만 할 수 있는' 지금 '날짜 ()'.
예
"'php 함수는 () { 반품하십시오 날짜 (& # 39, y 메가 d h:i:s& # 39;). } "'
() '' Date_default_timezone_set 시간대 변경 할 경우 사용할 수 있습니다.
그렇지 않으면 사용할 수 있는 탄소 - 간단한 PHP apiu 확장자임 DateTime.