Date/Time 函数
在线手册:中文 英文
PHP手册

date_format

(PHP 5 >= 5.2.0)

date_format别名 DateTime::format()

说明

此函数是该函数的别名: DateTime::format()


Date/Time 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: 别名 DateTime::format

用户评论:

Andrew Gregory (22-Jul-2009 11:52)

Requirements: PHP5+

To expand on Matt Walsh's example, a simple way to get eBay, or Amazon, web service timestamps is as follows:

<?php

$current_time
= urlEncode(subStr(date("c"), 0, 19)."Z");

?>

In other words, take the date/time of now (in ISO 8601 format), discard the trailing Daylight Savings Time specifier, add a "Z" where the DST was and urlEncode the whole thing to convert the time's colons for REST requests (required for amazon, not sure about eBay).

Another way might be to create your own timestamp:

<?php

$current_time
= urlEncode(date("Y-m-d")."T".date("H:i:s")."Z");

?>

This way however takes a little more coding on the line.

As far as performance goes, I'm not sure which may be quicker. I just like things to work and work well, don't much care for how fast they are as long as they get the job done :)

A much simpler way to get the eBay, or Amazon, web service timestamp is as follows:

<?php

$current_date
= gmDate("Y-m-d\TH:i:s\Z");

?>

Enjoy!

Mike C (07-Jul-2008 06:23)

If you are studying date_format because you want to format a date, consider the power of date(..) !!!!

the mktime article has an example of adding days to a date of your choice and then formatting it:
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997))
where the 32 is like adding 1 day to the 31st .

Matt Walsh (04-May-2007 06:43)

The ISO8601 output format doesn't jive with (at least) what eBay expects in its SOAP transactions.  eBay wants a UTC time with a 'Z' suffix.   That is, eBay (and I'm guessing other web services) will accept "2007-05-04T17:01:17Z" but not "2007-05-04T17:01:17+0000".  As it is, the built-in DateTime::ISO8601 format uses the +0000 timezone specifier even when in a UTC timezone.
 
As a workaround, I do this:

<?php
  
function get_ebay_UTC_8601(DateTime $time)
   { 
$t = clone $time;
     
$t->setTimezone(new DateTimeZone("UTC"));
      return
$t->format("Y-m-d\TH:i:s\Z");
   }
?>