2013-05-31 17 views
0

В HTMl Как изменить формат даты? Используя date(), я получил сегодняшнюю дату. Проблема в том, что я не знаю, как изменить формат даты. Мне нужно отобразить формат даты, подобный этому «28 мая 2013 года». Может кто-нибудь мне помочь ???Формат даты в формате HTML

<html position="0,0,0,0" canExport="false"> 
    <![CDATA[ 
     <script> 
      var currentTime = new Date(); 
      var month = currentTime.getMonth() + 1; 
      var monthname ; 
      if (month == 1) 
       monthname = "Jan"; 
      else if (month == 2) 
       monthname = "Feb"; 
      else if (month == 3) 
       monthname = "Mar"; 
      else if (month == 4) 
       monthname = "Apr"; 
      else if (month == 5) 
       monthname = "May"; 
      else if (month == 5) 
       monthname = "June"; 
      else if (month == 7) 
       monthname = "July"; 
      else if (month == 8) 
       monthname = "Aug"; 
      else if (month == 9) 
       monthname = "Sep"; 
      else if (month == 10) 
       monthname = "Oct"; 
      else if (month == 11) 
       monthname = "Nov"; 
      else 
       monthname = "Dec"; 

      var day = currentTime.getDate(); 
      var dayname; 
      if (day == 2 ||day == 22) 
       dayname = "nd"; 
      else if (day == 3 ||day == 23) 
       dayname = "rd"; 
      else if (day == 1 ||day == 21||day == 31) 
       dayname = "st"; 
      else 
       dayname = "th"; 

      var year = currentTime.getFullYear(); 
      s = currentTime.toDateString(); 
      alert(s); 
      $('[name=DateDynamic]').text(monthname+" "+day+""+dayname+" "+ year); 

     </script> 
    ]]> 
</html> 

В настоящее время я следую вышеуказанному большому методу. Я знаю, что должен быть какой-то простой метод.

+0

Стиль этого вопроса предполагает, что он должен быть о PHP ... – kirelagin

+1

Пожалуйста, отправьте код, который вы пробовали. – j08691

+0

Используйте этот [JS API] (http://blog.stevenlevithan.com/archives/date-time-format) – NullPointerException

ответ

0

Я считаю, что вы хотите это для javascript? Не так ли? Предполагая, что ваши теги

Попробуйте что-то вроде:

кода Javascript:

var currentDate = new Date() 
var day = currentDate.getDate() 
var month = currentDate.getMonth() + 1 
month = getMonthName(month); 
var year = currentDate.getFullYear() 
document.write("<b>" +month + " " + day + " " + year + "</b>") 

function getMonthName(monthNumber) 
{ 
    var monthName = ""; 
    switch (monthNumber) 
    { 
     case 5: 
     monthName = "May"; 
      break; 
     default: 
      monthName ="not implemented yet"; 
      break; 
    } 
    return monthName; 
} 

Edit ---> я вижу, как вы изменили свои метки. Я возлагаю это за кого-нибудь!

0

Вы можете сделать это на разных языках, но я предполагаю, что вы хотите использовать объект Date в Javascript, если хотите показывать простую дату при загрузке страницы.

Вот учебник по многим способам форматирования даты с помощью Javascript: http://www.w3schools.com/js/js_obj_date.asp

0

Я думаю, что метод Javascript toDateString может быть хотят, чтобы вы ищете:

Documentation

var now = new Date(); 
x = now.toDateString(); 
//Fri May 31 2013 

//Additional Formatting 
var patt = /(\w+) (\w+ [0-9]{1,2}) ([0-9]{4})/; 
x = x.replace(patt, '$2, $3'); 
//May 31, 2013 

I скомпоновать Fiddle, чтобы справиться с проблемой «суффикса дня».

Выход Fiddle:

//May 31st, 2013 
0
var myDate = new Date(); 

var formattedDate = myDate.toDateString().split(' ') 
formattedDate[0] = ''; 


if (formattedDate[2][0] != 1 && formattedDate[2][1] == 1) { 
    formattedDate[2] = formattedDate[2] + 'st'; 
} else if (formattedDate[2][0] != 1 && formattedDate[2][1] == 2) { 
    formattedDate[2] = formattedDate[2] + 'nd';  
} else if (formattedDate[2][0] != 1 && formattedDate[2][1] == 3) { 
    formattedDate[2] = formattedDate[2] + 'rd'; 
} else { 
    formattedDate[2] = formattedDate[2] + 'th'; 
} 

formattedDate = formattedDate.join(' '); 

Выход на сегодня: 31 мая 2013
http://jsfiddle.net/VHqpU/2/

+0

Спасибо .. Это помогает мне ... – user1397157

+1

Это решение не учитывает даты в диапазоне 'teen'. См. Мое решение. – ExceptionLimeCat

+0

@ExceptionLimeCat Вы абсолютно правы; Я обновил свое решение, чтобы решить эту проблему. –

0

Основываясь на вашем примере, я очистил его немного. Вы также использовали getDate() для переменной «день» вместо getDay().

<script type="text/javascript"> 
     var currentTime = new Date(); 

     var month = currentTime.getMonth() + 1; 
     var months = ["Dec","Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct","Nov",]; 
     var monthname = months[month]; 

     var day = currentTime.getDay(); 
     var dayname; 
     if (day == 2 ||day == 22) 
      dayname = "nd"; 
     else if (day == 3 ||day == 23) 
      dayname = "rd"; 
     else if (day == 1 ||day == 21||day == 31) 
      dayname = "st"; 
     else 
      dayname = "th"; 

     var year = currentTime.getFullYear(); 
     alert(monthname+" "+day+""+dayname+" "+ year); 
     $('[name=DateDynamic]').text(monthname+", "+day+""+dayname+" "+ year); 

    </script> 
Смежные вопросы