2013-12-11 82 views
0

我有被读出为2013121220100125或者它可能是一个用户提交一个事件的任何日期的许多事件的日期(结构年月日将日期转换为其他格式?

现在我已经做了一个功能,显示所有事件月。但日期被读出为20131212

我怎能取代20131212或任何日期,它是transfomed到 2013/12/12事件被存储在一个txt文件

的格式,这对于像所有结构这 这可能吗?

CODE

<link href="plugins/calender/calendar.min.css" rel="stylesheet" type="text/css"> 
<script src="plugins/calender/calendar.full.js"></script> 
<div class="style1"> 
<div class="calendar" data-color="<?php echo $calendarcolor ?>"> 
<?php include('admin/events/events.txt') ?> 
</div> 
</div> 
<br> 
<H3>Aankomende events</H3> 
<script type="text/javascript"> 
$(document).ready(function(){ 

    //how much items per page to show 
    var show_per_page = 1; 
    //getting the amount of elements inside content div 
    var number_of_items = $('#content').children().size(); 
    //calculate the number of pages we are going to have 
    var number_of_pages = Math.ceil(number_of_items/show_per_page); 

    //set the value of our hidden input fields 
    $('#current_page').val(0); 
    $('#show_per_page').val(show_per_page); 

    //now when we got all we need for the navigation let's make it ' 

    /* 
    what are we going to have in the navigation? 
     - link to previous page 
     - links to specific pages 
     - link to next page 
    */ 
    var navigation_html = '<a class="previous_link" href="javascript:previous();">Vorige</a>'; 
    var current_link = 0; 
    while(number_of_pages > current_link){ 
     navigation_html += '<a class="page_link" href="javascript:go_to_page(' + current_link +')" longdesc="' + current_link +'">'+ (current_link + 1) +'</a>'; 
     current_link++; 
    } 
    navigation_html += '<a class="next_link" href="javascript:next();">Volgende</a>'; 

    $('#page_navigation').html(navigation_html); 

    //add active_page class to the first page link 
    $('#page_navigation .page_link:first').addClass('active_page'); 

    //hide all the elements inside content div 
    $('#content').children().css('display', 'none'); 

    //and show the first n (show_per_page) elements 
    $('#content').children().slice(0, show_per_page).css('display', 'block'); 

}); 

function previous(){ 

    new_page = parseInt($('#current_page').val()) - 1; 
    //if there is an item before the current active link run the function 
    if($('.active_page').prev('.page_link').length==true){ 
     go_to_page(new_page); 
    } 

} 

function next(){ 
    new_page = parseInt($('#current_page').val()) + 1; 
    //if there is an item after the current active link run the function 
    if($('.active_page').next('.page_link').length==true){ 
     go_to_page(new_page); 
    } 

} 
function go_to_page(page_num){ 
    //get the number of items shown per page 
    var show_per_page = parseInt($('#show_per_page').val()); 

    //get the element number where to start the slice from 
    start_from = page_num * show_per_page; 

    //get the element number where to end the slice 
    end_on = start_from + show_per_page; 

    //hide all children elements of content div, get specific items and show them 
    $('#content').children().css('display', 'none').slice(start_from, end_on).css('display', 'block'); 

    /*get the page link that has longdesc attribute of the current page and add active_page class to it 
    and remove that class from previously active page link*/ 
    $('.page_link[longdesc=' + page_num +']').addClass('active_page').siblings('.active_page').removeClass('active_page'); 

    //update the current page input field 
    $('#current_page').val(page_num); 
} 

</script> 

<!-- the input fields that will hold the variables we will use --> 
     <input type='hidden' id='current_page' /> 
    <input type='hidden' id='show_per_page' /> 


<div id='content'> 


    <?php 
$file = fopen("admin/events/events.txt", "r"); 
while(!feof($file)){ 
    $line = fgets($file); 
$line = str_replace("<div data-role='day' data-day='", "<b><u>Datum:</b></u> (yyyy/mm/dd formaat) ", $line); 
$line = str_replace("'><div data-role='event' data-name='<h1>", " <br><b><u>Event:</b></u> ", $line); 
$line = str_replace("' data-start='", " <br><b><u>Start:</b></u> ", $line); 
$line = str_replace("' data-end='", " <br><b><u>Einde:</b></u> Tot ", $line); 
$line = str_replace("' data-location='", " <br><b><u>Locatie:</b></u> ", $line); 
$line = str_replace("</h1>", " <br><b><u>Inhoud event:</b></u><br> ", $line); 
$line = str_replace("'></div></div>", "", $line); 
echo "<div class='event'>$line</div>"; 
} 
fclose($file); 

?> 


</div> 
<br> 
<div id='page_navigation'></div> 
+0

一些代码wouldnt坏,我不知道你为什么得到的日期没有分离器......一般来说,哟你可以使用date_format来重新格式化日期。 –

+0

加入一些代码。代码显示在一个txt文件中,并且读出 – Johan

回答

1

你可以试试这个。它会为你工作。

<?php 
$str = '20131212'; 
$date = new DateTime($str); 
echo $date->format('Y/m/d'); 
?> 

以上代码的输出是2013年12月12日

+0

是的,但我现在不$ $ str将是20131212 ...它可以是任何日期。我想用dat格式来替换所有的8位数字 – Johan

+0

man,只需要使用变量,而不是'$ str',它将起作用... – Naryl

+0

所以你可以设置$ str = $ _REQUEST ['date' ]。其中日期是任何用户输入日期的输入字段的名称。 –

0

你是指这个吗?

<?php 
$dt = '20131212'; 
$ctime = DateTime::createFromFormat('Ymd', $dt); 
echo $ndate= $ctime->format('Y/m/d'); // "prints" 2013/12/12 
+0

的确如此。我也应用了这些代码。但我不知道$ dt会是什么。它可能是20140416 ....那么是否有代码可以说$ dt是全部8位数字? – Johan

+0

如果你不知道它会是什么,你将不得不编写一些代码来找出:P –

+0

但我已经尝试了很多,但我没有成功 – Johan

0

尝试这样

$yourdate= date('Ymd');  
echo date('Y-m-d',strtotime($yourdate)); 
+0

我会给这个去编辑︰不工作今天的实际日期得到显示,但我的8位数字仍然像他们 – Johan

0

也许这样的事情会为你工作:

$new_dt=preg_replace('/^(\d{4})(\d{2})(\d{2})$/', "\1/\2/\3", $dt); 
if (strpos($new_dt, "/") === false) { 
    //did nothing since the date format was wrong! 
}else{ 
    echo "New date format: $new_dt"; 
} 
+0

你preg_replace尽我所能去,但我想成为现在:) thx所有,解决:) – Johan

0

,我发现我的问题的答案,希望别人发现这有帮助

<?php 
$file = fopen("admin/events/events.txt", "r"); 
while(!feof($file)){ 
    $line = fgets($file); 
$text= $line; 
$result=htmlentities($text); 
$s = $result; 
preg_match_all('/data-day=\'([^\']*)\'/', $s, $matches); 
foreach($matches[1] as $idx => $datevalue) 
{ 
    $year = substr($datevalue, 0, 4); 
    $month = substr($datevalue, 4, 2); 
    $day = substr($datevalue, 6, 2); 
} 
$line = str_replace("<div data-role='day' data-day='$year$month$day", "<b><u>Datum:</b></u> $year-$month-$day ", $line); 
$line = str_replace("'><div data-role='event' data-name='<h1>", " <br><b><u>Event:</b></u> ", $line); 
$line = str_replace("' data-start='", " <br><b><u>Start:</b></u> ", $line); 
$line = str_replace("' data-end='", " <br><b><u>Einde:</b></u> Tot ", $line); 
$line = str_replace("' data-location='", " <br><b><u>Locatie:</b></u> ", $line); 
$line = str_replace("</h1>", " <br><b><u>Inhoud event:</b></u><br> ", $line); 
$line = str_replace("'></div></div>", "", $line); 
echo "<div class='event'>$line</div>"; 
} 
fclose($file); 

?> 
相关问题