Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгом «time»



samdark
  • Репутация: 349
  • Сниппеты: 57
  • Ревизии: 5

Иногда требуется показать текущее время в другом часовом поясе. Сделать это можно вот так:

function getCurrentTimeWithOffset(timezoneOffset) {
    var tzDate = new Date((new Date()).getTime() + (3600000 * timezoneOffset));
    return tzDate.getUTCHours() + ':' + (tzDate.getUTCMinutes() < 10 ? 0 : '') + tzDate.getUTCMinutes();
}
Gravatar image
zoxon
  • Репутация: 5
  • Сниппеты: 3
  • Ревизии: 1

В соц. сетях, например в Twitter, вы заметите, что даты выводятся в формате — 1 hour ago. Чтобы сделать на своё сайте также, нам достаточно использовать timeago.js

Если вам нужна поддержка русского языка, достаточно подключить его так:

<script src="https://raw.githubusercontent.com/rmm5t/jquery-timeago/master/jquery.timeago.js"></script>
<script src="https://raw.githubusercontent.com/rmm5t/jquery-timeago/master/locales/jquery.timeago.ru.js"></script>

Другие локализации можете найти тут — locales

// JS
jQuery(function ($) {
    $(document).ready(function() {
        $(".time").timeago();
    });
});

// Html
<time class="time" datetime="2015-08-18T09:24:17Z" title="18 Августа 2015">18 Августа 2015</time>
Gravatar image
Даниил Волков
  • Репутация: 1
  • Сниппеты: 0
  • Ревизии: 1

Как-то давно, когда очередной раз накосячил в формате date() для записи в MongoDB/MySQL, написал небольшую функцию, которая просто возвращала текущую дату - просто сокр. вариант date('Y-m-d H:i:s'), время шло и к функции добавлялись возможности. И вот сегодня, выкинув все лишнее и оставив самое вкусное, решил выложить и узнать мнение спецов, может посоветуете что лучше и проще. Примеры работы:

<?php
echo timestamp();                           // 2015-11-07 18:03:00
echo timestamp(time());                     // 2015-11-07 18:03:00
echo timestamp('now');                      // 2015-11-07 18:03:00
echo timestamp('2015-11-07 18:03:00');      // 2015-11-07 18:03:00
echo timestamp('+1 DAY');                   // 2015-11-08 18:03:00
echo timestamp('+1 DAY', '-1 DAY');         // 2015-11-07 18:03:00
echo timestamp('-1 DAY', time() + 86400);   // 2015-11-07 18:03:00
echo timestamp('today');                    // 2015-11-07 00:00:00
echo timestamp('today', '+1 DAY');          // 2015-11-08 00:00:00
echo timestamp('today', null, 'd.m.y');     // 07.11.15

P.S. null'ы люблю, пока не сможем спокойно использовать константу(?) default для аргументов, так быстро можно добавить 4 аргумент и не надо по-умолчанию указывать аргументы, при вызове функции, чтоб поменять последний аргумент

<?php
/**
 * Отметка времени
 *
 * @param null|string|int $time — целое число (time()) или все возможности strtotime()
 * @param null|string|int $now — путешествие во времени, формат/возможности как и у первого аргумента
 * @param null|string $format — в каком виде отдавать результат, по-умолчанию: "Y-m-d H:i:s". Отдаем через date()
 * @return string
 */
function timestamp($time = null, $now = null, $format = null)
{
    if ($time === null) {
        $time = time();
    } else if (is_int($time)) {

    } else if ($now === null) {
        $time = strtotime($time);
    } else {
        $time = strtotime($time, strtotime(timestamp($now)));
    }

    if($format === null) {
        $format = 'Y-m-d H:i:s';
    }

    return date($format, $time);
}


я
Gravatar image
Arman
  • Репутация: 4
  • Сниппеты: 2
  • Ревизии: 0

Как-то давно, когда очередной раз накосячил в формате date() для записи в MongoDB/MySQL, написал небольшую функцию, которая просто возвращала текущую дату - просто сокр. вариант date('Y-m-d H:i:s'), время шло и к функции добавлялись возможности. И вот сегодня, выкинув все лишнее и оставив самое вкусное, решил выложить и узнать мнение спецов, может посоветуете что лучше и проще. Примеры работы:

<?php
echo timestamp();                           // 2015-11-07 18:03:00
echo timestamp(time());                     // 2015-11-07 18:03:00
echo timestamp('now');                      // 2015-11-07 18:03:00
echo timestamp('2015-11-07 18:03:00');      // 2015-11-07 18:03:00
echo timestamp('+1 DAY');                   // 2015-11-08 18:03:00
echo timestamp('+1 DAY', '-1 DAY');         // 2015-11-07 18:03:00
echo timestamp('-1 DAY', time() + 86400);   // 2015-11-07 18:03:00
echo timestamp('today');                    // 2015-11-07 00:00:00
echo timestamp('today', '+1 DAY');          // 2015-11-08 00:00:00
echo timestamp('today', null, 'd.m.y');     // 07.11.15

P.S. null'ы люблю, пока не сможем спокойно использовать константу(?) default для аргументов, так быстро можно добавить 4 аргумент и не надо по-умолчанию указывать аргументы, при вызове функции, чтоб поменять последний аргумент

<?php
/**
 * Отметка времени
 *
 * @param null|string|int $time — целое число (time()) или все возможности strtotime()
 * @param null|string|int $now — путешествие во времени, формат/возможности как и у первого аргумента
 * @param null|string $format — в каком виде отдавать результат, по-умолчанию: "Y-m-d H:i:s". Отдаем через date()
 * @return string
 */
function timestamp($time = null, $now = null, $format = null)
{
    if ($time === null) {
        $time = time();
    } else if (is_int($time)) {

    } else if ($now === null) {
        $time = strtotime($time);
    } else {
        $time = strtotime($time, strtotime(timestamp($now)));
    }

    if($format === null) {
        $format = 'Y-m-d H:i:s';
    }

    return date($format, $time);
}
Иван Бармашов
  • Репутация: 71
  • Сниппеты: 7
  • Ревизии: 0

В соц. сетях, например в Twitter, вы заметите, что даты выводятся в формате — 1 hour ago. Чтобы сделать на своё сайте также, нам достаточно использовать timeago.js

Если вам нужна поддержка русского языка, достаточно подключить его так:

<script src="https://raw.githubusercontent.com/rmm5t/jquery-timeago/master/jquery.timeago.js"></script>
<script src="https://raw.githubusercontent.com/rmm5t/jquery-timeago/master/locales/jquery.timeago.ru.js"></script>

Другие локализации можете найти тут — locales

// JS
jQuery(function ($) {
    $(document).ready(function() {
        $('.time').timeago();
    });
});

// Html
<span class="time" title="2015-08-18T09:24:17Z"></span>