将日期转换为其他格式?

时间:2013-12-11 10:48:57

标签: php jquery html

我有很多活动日期,宣读为2013121220100125,或者可能是用户作为活动提交的任何日期(结构 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>

5 个答案:

答案 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);

?>