2017-08-08 116 views
0

我用下面從先進的自定義字段親插件WordPress的日期格式轉換功能

我下面的代碼顯示從選擇的日期功能越來越日期,

我想要的日期格式是不同

<!--event_start_date--> 
      <?php if(get_field('event_start_date')): ?> 
      Event start date: 
      <?php the_field('event_start_date'); ?><br/> 
      <?php endif; ?> 

      <!--Event end date--> 
      <?php if(get_field('event_end_date')): ?> 
      Event end date: 
      <?php the_field('event_end_date'); ?><br/> 
      <?php endif; ?> 

我已經使用下面的代碼來改變格式但不工作,在這裏the_field('event_start_date');直接顯示沒有打印/回顯

$new_date = date("d-M-Y", strtotime(the_field('event_start_date'))); 
echo $new_date; 
+0

嘗試更換$ NEW_DATE =日期( 「d-M-Y」,的strtotime(the_field( 'event_start_date'))); echo $ new_date;與$ new_date = date(「d-M-Y」,strtotime(get_field('event_start_date'))); echo $ new_date; –

+0

沒有運氣它的工作格式,但沒有轉換現有的日期它顯示的功能的開始日期01年1月1日,實際上我的日期功能顯示30/11/2017這樣,我想要像2017年11月30日 – krishna

回答

0

一個直接的方法是使用ob_get_clean()來捕獲輸出,就像這樣:

<!--Event end date--> 
<?php if(get_field('event_start_date')): ?> 
Event end date: 

<?php 
ob_start(); 

the_field('event_start_date'); 
$date_string = ob_get_clean(); 
$new_date = date("d-M-Y", strtotime($date_string)); 
echo $new_date;  
?> 
<br/> 
<?php endif; ?> 

這是一個有點矯枉過正。如果您可以在插件中找到返回數據而不是輸出數據的函數,那麼最好。

通過documentation查看acf插件,get_field()函數執行此操作。

根據acf文檔,日期存儲有點不同。 https://www.advancedcustomfields.com/resources/date-picker/

$date_string = get_field('event_start_date',false,false) 
$date = new DateTime($date_string); 
$new_date = $date->format('d-M-Y'); 
echo $new_date; 
+0

沒有運氣它顯示日期01年1月 - 1970年這樣 – krishna

+0

你想怎麼樣? – Kris

+0

禮物是30/11/2017我想要30-nov-2017 – krishna