Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.07.2014, 20:27
Кандидат Javascript-наук
Отправить личное сообщение для zoOmer Посмотреть профиль Найти все сообщения от zoOmer
 
Регистрация: 21.05.2013
Сообщений: 131

Замена даты - Помогите
Ребят есть функция замены даты и времени
function newDate(str) {return str.replace(/(\d\d)\.(\d\d)\.(\d\d)\s-\s/,'$1 ' + ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'][/\d\d\.(\d\d)\.\d\d\s-\s/.exec(str)[1] - 1] + ' 20$3 в ');}


В результате полученную дату и время 01.01.13 - 23:19 заменит на 01 января 2013 в 23:19.

Вопрос как сделать аналогичную функцию только для даты без времени?

Заранее огромное спасибо)
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2014, 21:32
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,518

function newDate(str){
  return str.replace(/(\d\d)\.(\d\d)\.(\d\d)/, function(str, dd, mm, yy){
    return dd + ' ' + ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'][mm-1] + ' 20' + yy
  });
}
alert(newDate('01.01.13'))
__________________
29375, 35

Последний раз редактировалось Aetae, 21.07.2014 в 21:35.
Ответить с цитированием
  #3 (permalink)  
Старый 22.07.2014, 01:20
Кандидат Javascript-наук
Отправить личное сообщение для zoOmer Посмотреть профиль Найти все сообщения от zoOmer
 
Регистрация: 21.05.2013
Сообщений: 131

Aetae, Спасибо но есть одно но если дата к примеру 1971, то добавляет 20.
Если убрать из кода 20 то 1971 год выводит нормально а вот 2014 выводит просто 14.
Ответить с цитированием
  #4 (permalink)  
Старый 22.07.2014, 03:07
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,518

zoOmer, ну а откудыть бы я угадал такие детавли?)
function newDate(str){
  return str.replace(/(\d\d)\.(\d\d)\.(\d{2,4})/, function(str, dd, mm, yy){
    return dd + ' ' + ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'][mm-1] + [' 20', ' '][yy.length>>2] + yy;
  });
}
alert([
  newDate('01.01.13'),
  newDate('01.01.1913')
])
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 23.10.2015, 18:39
Кандидат Javascript-наук
Отправить личное сообщение для zoOmer Посмотреть профиль Найти все сообщения от zoOmer
 
Регистрация: 21.05.2013
Сообщений: 131

А, подскажите как теперь сделать не даты а времени из скрипта в первом посте?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Freelance. Нужен календарь на Javascript для подстановки в <input /> даты и времени. DiYanka Работа 1 14.06.2014 02:03
Имеет ли смысл хранить даты в отдельной таблице? frutality Серверные языки и технологии 7 15.08.2013 19:39
проблема с сортировкой даты rave82 jQuery 3 27.09.2011 01:35
Замена текста в блоках по клику, помогите новичку) langolier Я не знаю javascript 1 27.05.2009 04:13
проверка формата даты на JavaScript, помогите простейшим примером tangens Общие вопросы Javascript 18 05.12.2008 16:20