2012-10-03 183 views
-1

嗨,我知道这个问题有点微不足道。我GOOGLE了它,但无法找到确切的问题。将字符串转换为日期

我有一个包含一个应用程序灌装日期我怎么能转换这个字符串转换成日期

$appln_filling_date = '20020315'; 

一个字符串类型appln_filling_date的是字符串我想它的类型转换为日期和所需的数据保持不变。数据库中的字段有一个类型日期。

编辑

这就是我要做的

$appln_filling_date = strtotime($appln_data['bibliographic-data']['application-reference']['document-id']['1']['date']['$']); 
$appln_filling_date = date('Y-m-d', $appln_filling_date); 
+0

如果它是一个字符串,其中有引号? –

+0

哦来吧想象中的报价:) – Wearybands

+2

单或双? :) –

回答

4

如果你的日期是在一些standard date format使用这个例子:

$d = new DateTime('20020315'); 
echo $d->format('Y-m-d'); 

# or [if you do not have DateTime, which is in php >= 5.2.0] 

$t = strtotime('20020315'); 
echo date('Y-m-d', $t); 

如果您的日期是不是在一些标准格式使用此示例:

$d = DateTime::createFromFormat('d . Y - m', '15 . 2002 - 03'); 
echo $d->format('Y-m-d'); 
+0

我得到2002-03-15,我通过使用gettype()方法来查看变量的类型,它仍然返回字符串 – Wearybands

+0

您希望返回哪种类型? –

+0

我希望它返回日期类型,因为我将在数据库中插入此字段的日期类型为 – Wearybands

1
$date = DateTime::createFromFormat('Ymd', $appln_filling_date); 
+0

class DateTime not found: – Wearybands

+0

@UmairIqbal你运行的是哪个版本的PHP? – Tchoupi

+0

我使用PHP 5.3.10 – Wearybands

1

这个工作对我来说就像一个魅力

$appln_filling_date = $appln_data['bibliographic-data']['application-reference']['document-id']['1']['date']['$']; 
$appln_filling_date = date_create(date('Y-m-d', $appln_filling_date)); 

感谢反对投票

+0

你知道'date_create()'是'DateTime :: __ construct()'的别名吗?这是一回事。 http://php.net/manual/en/function.date-create.php –

+0

@Glavić我使用上面的代码插入日期到我的数据库和日期存储为“1970-08-20”,但在我看来当我展示它时,日期就像“1970-08-20 00:00:00”我怎样才能消除时间?在视图中的代码是{{patent.applnFilingDate.date}} – Wearybands

+0

完成使用{{patent.applnFilingDate.date | date('Y-m-d')}} – Wearybands