目录搜索
文字
分享

date_format

(PHP 5 >= 5.2.0, PHP 7)

date_format别名 DateTime::format()

说明

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

用户评论:

[#1] Andrew Gregory [2009-07-22 03:52:33]

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"), 019)."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!

[#2] Mike C [2008-07-07 10:23:28]

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 .

[#3] Matt Walsh [2007-05-04 10:43:16]

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");
   }
?>

上一篇:下一篇: