2011-01-19 46 views

回答

4
print strftime('%B %e, %Y',strtotime('2010-10-22 07:00:00 Etc/GMT')); 

输出: “2010年10月22日,”

是如何呢? :)

2

您需要使用此功能:

  1. strtotime()用于获取unixtimestamp,
  2. strftime()为outputing一个很好的格式化的时间表达。
2
  1. 解析使用strftime
+0

strptime()是系统相关的。因此,对于PHP 5.3.0及更高版本,建议使用[date_parse_from_format()](http://php.net/date_parse_from_format)。 (不幸的是,[DateTime类](http://php.net/manual/en/class.datetime.php)没有遵守语言环境。)然而,simon的[strtotime()](http://php.net/strtotime)解决方案如果知道输入字符串采用可识别的格式(例如ISO 8601),则效率更高。所以+1都是。 – PointedEars 2011-11-24 15:48:30

1
echo date('F d, Y', strtotime($dt)); 
+0

我相信Etc/GMT是造成这个问题,因为strtotime总是没有返回。 – 2011-01-19 12:14:35

+0

@Belgin鱼:嗯? 1)它适用于我2)你检查**相同的**答案,给予**后**我的。 – zerkms 2011-01-19 12:32:45

1

使用mktime

  • 格式的时间戳使用strptime
  • 将其转换成一个时间戳日这应该工作:

    date("F j, Y", strtotime($date))