我有很多活动日期,宣读为20131212
或20100125
,或者可能是用户作为活动提交的任何日期(结构 yyyymmdd )< / p>
现在我已经创建了一个显示该月所有事件的函数。但是日期会被读出20131212
如何将20131212
或其任何日期替换为格式
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 :(得分:1)
你可以试试这个。它会对你有用。
<?php
$str = '20131212';
$date = new DateTime($str);
echo $date->format('Y/m/d');
?>
上述代码的输出是2013/12/12
答案 1 :(得分:0)
你的意思是对的吗?
<?php
$dt = '20131212';
$ctime = DateTime::createFromFormat('Ymd', $dt);
echo $ndate= $ctime->format('Y/m/d'); // "prints" 2013/12/12
答案 2 :(得分:0)
试试这个
$yourdate= date('Ymd');
echo date('Y-m-d',strtotime($yourdate));
答案 3 :(得分: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";
}
答案 4 :(得分: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);
?>