Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
20 / 9 / 3
Регистрация: 02.04.2015
Сообщений: 558
1

Замена даты с 8.4.1989 на 8 апреля 1989

09.01.2018, 18:51. Просмотров 770. Ответов 3
Метки нет (Все метки)


Привет, в переменной $date может находится дата в таком виде
8.4
или так
8.4.1989

8.4 - означает 8 апреля
8.4.1989 - 8 апреля 1989

как мне преобразовать дату из той что я имею сейчас в переменной $date
нужно чтобы вывод был вида
если в переменной (8.4) выводило
8 апреля

если в переменной (8.4.1989) выводило
8 апреля 1989
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2018, 18:51
Ответы с готовыми решениями:

статья 1989 года про windows
Нашел в интернете забавную картинку. Картинка представляет собой вырезку из журнала "Радио и связь"...

Выбрать общую сумму заказов за каждый день 1989 года
SELECT AMOUNT, ORDER_DATE FROM orders WHERE year(ORDER_DATE)=1989 Выбрать за 1989 год у меня...

Сколько существует натуральных чисел, не превосходящих 1988, взаимно простых с 1989
Помогите, пожалуйста решить задачу. Если можно, подробнее. Сколько существует натуральных чисел,...

Подскажите как вывести все поля из базы которые соответствуют интервалу 1989-2010
Не могу понять что здесь не правильно: <? function children($year) {$SQL = "SELECT * FROM...

3
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
09.01.2018, 22:20 2
Ну например так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$tmp = explode('.', $date);
switch($tmp[1]){
    case 1:
        $month = 'января';
    break;
    ...
    ...
    case 12:
        $month = 'декабря';
    break;
}
echo $tmp[0].' '.$month.' '.$tmp[2];
?>
0
152 / 127 / 88
Регистрация: 19.01.2015
Сообщений: 382
09.01.2018, 22:59 3
Лучший ответ Сообщение было отмечено serauto79 как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$months = array( 1 => 'января' , 'февраля' , 'марта' , 'апреля' , 'мая' , 'июня' , 'июля' , 'августа' , 'сентября' , 'октября' , 'ноября' , 'декабря' );
 
$date = "8.4.1989";
 
if (preg_match("/^\d{1,2}\.\d{1,2}\.\d{4}$/", $date)) {
$date = DateTime::createFromFormat('j.n.Y', $date);
$mon = $months[$date->format('n')];
$date = $date->format('j '.$mon.' Y');
} else if (preg_match("/^\d{1,2}\.\d{1,2}$/", $date)) {
$date = DateTime::createFromFormat('j.n', $date);
$mon = $months[$date->format('n')];
$date = $date->format('j '.$mon);
}
 
echo $date;
1
20 / 9 / 3
Регистрация: 02.04.2015
Сообщений: 558
12.01.2018, 22:16  [ТС] 4
Smls спасибо за помощь!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2018, 22:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

[Dendy] Увеличить начальную скорость падения блоков в tetris.1989 (редактирование значений в HEX редакторе)
Доброго дня! Когда-то мне здесь помогли написать диплом. Теперь снова обращаюсь к Вам. Играю в...

Составить таблицу и выяснить минимальную и максимальную плотность населения в 1970 году и в 1989 году
Ребята, помогите пожалуйста с Excel. Я сам не успеваю.Задание ниже

Замена даты
Доброго времени суток... Подскажите пожалуйста как справиться с моей задачей Есть форма Продукты,...

Замена даты в запросе
Здравствуйте! Подскажите, возможно ли сделать в запросе возможность чтобы постоянно (ежемесячно) не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.