/ Адаптивность / Манипуляции с датами

Манипуляции с датами

HIT

Русскоязычный формат дней недели и месяцев

Добавляем на сайт функцию, которая приводит вывод даты (месяцы, дни недели) в человеческий вид.
Помещаем в файл functions

function dateToRussian($date) {
    $month = array("january"=>"января", "february"=>"февраля", "march"=>"марта", "april"=>"апреля", "may"=>"мая", "june"=>"июня", "july"=>"июля", "august"=>"августа", "september"=>"сентября", "october"=>"октября", "november"=>"ноября", "december"=>"декабря");
    $days = array("monday"=>"Понедельник", "tuesday"=>"Вторник", "wednesday"=>"Среда", "thursday"=>"Четверг", "friday"=>"Пятница", "saturday"=>"Суббота", "sunday"=>"Воскресенье");
    return str_replace(array_merge(array_keys($month), array_keys($days)), array_merge($month, $days), strtolower($date));
}

вывод:

<?php echo 'Сегодня '.dateToRussian(date('l, j F Y')).' года'; ?>

если нужна дата поста, то:

<?php echo dateToRussian(get_the_date()); ?>

Вывод даты в стиле twitter (4 дня назад)

<?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' назад'; ?>

Определение выходных

Простая проверка на субботу и воскресенье:

$weekday = date("l");
if ($weekday =="Saturday" OR $weekday =="Sunday") { echo 'выходной'; } 
else { echo 'рабочий день'; }

Эта же проверка в jQuery:

var today = new Date();
if(today.getDay() == 6 || today.getDay() == 0) { alert ('выходной'); }
else { alert ('рабочий день'); }

Определение рабочих часов

$hour = date("G") + 3; //корректировка серверного времени
if ($hour >= 9 && $hour < 18) {	echo 'рабочие часы'; } 
else { echo 'НЕ рабочие часы'; }

jQuery только будущие или прошлые даты

Только прошлые даты:

$(function(){
    var dtToday = new Date();

    var month = dtToday.getMonth() + 1;
    var day = dtToday.getDate();
    var year = dtToday.getFullYear();

    if(month < 10)
        month = '0' + month.toString();
    if(day < 10)
        day = '0' + day.toString();

    var maxDate = year + '-' + month + '-' + day;    
    $('#delivery_date').attr('max', maxDate);
});

Только будущие даты:

$(function(){
    var dtToday = new Date();

    var month = dtToday.getMonth() + 1;
    var day = dtToday.getDate() + 1; // +1 блокирует и сегодняшний день
    var year = dtToday.getFullYear();

    if(month < 10)
        month = '0' + month.toString();
    if(day < 10)
        day = '0' + day.toString();

    var minDate = year + '-' + month + '-' + day;    
    $('#delivery_date').attr('min', minDate);
});

Если дата еще не наступила

Можно до наступления даты выводить один контент, а после наступления даты другой.

<?php $date_now = date("Y-m-d");
$date_end = '2021-11-28';

if ($date_now >= $date_end) {
	
	echo 'Дата уже наступила';
	
}else{
	
	echo 'Дата еще не наступила';
	
} ?> 

Проверка на последний день месяца

Данная проверка нужна, например, в случае когда мы запускаем CRON (запускается 28, 29, 30 и 31 числа, т.к. в CRON нет такого параметра как последний день месяца):

59 23 28-31 * * /path/to/your/send-report.php

А в самом файле проверяем последний ли день месяца.

<?php // Последний день месяца
$date_today = date('Y-m-d');
$last_day = date("Y-m-t", strtotime($date_today)); 

if ($date_today == $last_day) {
	echo 'Последний день месяца, отправляем отчет';
} else {
	echo 'Не последний день месяца, не отправляем отчет';
} ?>

Проверка на первый день месяца проще:

$date_today = date('Y-m-d'); // Текущая дата

$first_day = date('Y-m-01'); // Первый день месяца

if ($date_today == $first_day) { echo 'Первый день месяца'; }

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Переменный стиль

Переменный стиль

Если нужно сделать для четных и нечетных элементов разные классы. Поместить в funсtions.php function cycle(&$arr) { $arr[] = array_shift($arr); return end($arr); } $oddEven = array('even', 'odd'); В блоке изменяемого стиля Читать далее »

Счетчик просмотра страниц

Счетчик просмотра страниц

Счетчик просмотра страниц Создаем счетчик просмотра страниц сайта. Для того чтобы фиксировать и выводить статистику просмотра страницы, нужно поместить код в functions.php // Счетчик количества просмотров страниц function getPostViews($postID){ $count_key Читать далее »

Настройки сайта с theme customizer

Настройки сайта с theme customizer

Для того чтобы некоторые настройки сайта можно было менять из админки, через специальный интерфейс, а не ковырять исходный код (для заказчика), нужно использовать возможности WP Theme Customizer.Можно настраивать, например, такие Читать далее »

/

Добавить комментарий

1 комментарий

  1. Maxwell

    Мсье администратор, у Вас очень «грязный» код. Сделайте подсветку хотя бы, чтобы не ломать глаза.
    Большинство здесь функций приходится разбирать самому. Некоторые не работают.
    Если Вы делаете запись, будьте добры, показывать демо или в конце записи хотя бы уже собранный и рабочий код. Это и для посетителей хорошо и вам в карму.
    Спасибо!)

Манипуляции с датами
Отключить категорию, метку
Рекомендации для васОтключить категорию, меткуOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.