倒数时钟日期formate无法正常工作

时间:2018-11-14 10:19:56

标签: javascript html5

  
    

我的代码在javascript,html中。设置日期无法正常工作。         settings.date不正确。如果有人可以帮助,我将很高兴。

  
>      // CountDown Clock
>     // Version   : 1.0.1
>     // Developer : Ekrem KAYA
>     // Website   : http://e-piksel.com
>     // GitHub    : https://github.com/epiksel/countdown
(function ($) {

    'use strict';
    $.fn.countdown = function (options, callback) {
        var settings = $.extend({
            date: 12/13/2018 12:00:00.,
            offset: null,
            day: 'Day',
            days: 'Days',
            hour: 'Hour',
            hours: 'Hours',
            minute: 'Minute',
            minutes: 'Minutes',
            second: 'Second',
            seconds: 'Seconds'
        }, options);
  

!settings.date ==不能正确显示。

        // Throw error if date is not set
        if (!settings.date) {
            $.error('Date is not defined.');
        }

        // Throw error if date is set incorectly
        if (!Date.parse(settings.date)) {
            $.error('Incorrect date format, it should look like this, 12/24/2012 12:00:00.');
        }

        // Save container
        var container = this;
  

/ **              *更改客户的本地日期以匹配偏移时区              * @返回{Object}固定日期对象。              * /

        var currentDate = function () {
            // get client's current date
            var date = new Date();

            // turn date to utc
            var utc = date.getTime() + (date.getTimezoneOffset() * 60000);

            // set new Date object
            var new_date = new Date(utc + (3600000 * settings.offset));

            return new_date;
        };
  

/ **              *主倒计时功能可计算所有内容              * /

        function countdown() {
        //    alert("countdown");
            var target_date = new Date(settings.date), // set target date
                current_date = currentDate(); // get fixed current date
// alert(current_date);
// console.log(target_date);
console.log(settings.date);
            // difference of dates
            var difference = target_date - current_date;

            // if difference is negative than it's pass the target date
            if (difference < 0) {
                // stop timer
                clearInterval(interval);

                if (callback && typeof callback === 'function') callback();

                return;
            }

            // basic math variables
            var _second = 1000,
                _minute = _second * 60,
                _hour = _minute * 60,
                _day = _hour * 24;

            // calculate dates
            var days = Math.floor(difference / _day),
                hours = Math.floor((difference % _day) / _hour),
                minutes = Math.floor((difference % _hour) / _minute),
                seconds = Math.floor((difference % _minute) / _second);

            // based on the date change the refrence wording
            var text_days = (days === 1) ? settings.day : settings.days,
                text_hours = (hours === 1) ? settings.hour : settings.hours,
                text_minutes = (minutes === 1) ? settings.minute : settings.minutes,
                text_seconds = (seconds === 1) ? settings.second : settings.seconds;

            // fix dates so that it will show two digets
            days = (String(days).length >= 2) ? days : '0' + days;
            hours = (String(hours).length >= 2) ? hours : '0' + hours;
            minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes;
            seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds;
console.log(days,text_days);
            // set to DOM
            container.find('.days').text(days);
            container.find('.hours').text(hours);
            container.find('.minutes').text(minutes);
            container.find('.seconds').text(seconds);

            container.find('.days_text').text(text_days);
            container.find('.hours_text').text(text_hours);
            container.find('.minutes_text').text(text_minutes);
            container.find('.seconds_text').text(text_seconds);
        }

        // start
        var interval = setInterval(countdown, 1000);
    };

})(jQuery);

1 个答案:

答案 0 :(得分:0)

  

我得到了答案。我只需要将此代码放在HTMl中,就可以设置日期了。

 <script class="source" type="text/javascript">                                                                                                  var now = new Date();                                                                                                    var day = now.getDate();                                                                                                   var month = now.getMonth() + 1;                                                                                                   var year = now.getFullYear() + 1;                                                                                                                                                        var nextyear = month + '/' + day + '/' + year + ' 07:07:07';                                                                                                                          $('#example').countdown({                                                                        date: '12/13/2018 12:00:00' , // TODO Date format: 07/27/2017 17:00:00                                 offset: +2, // TODO Your Timezone Offset                                                              day: 'Day',                                                                                            days: 'Days'                                                                                       }, function () {                                                                                      alert('Done!');                                                                                    });                                                                                            </script>
                                                                                                        <script class="source" type="text/javascript">                                                        var now = new Date();                                                                               var day = now.getDate();                                                                               var month = now.getMonth() + 1;                                                                       var year = now.getFullYear() + 1;                                                                    var nextyear = month + '/' + day + '/' + year + ' 07:07:07';                                         $('.clock').countdown({                                                                                  date: '12/13/2018 12:00:00' ,  // TODO Date format: 07/27/2017 17:00:00                                 offset: +2, // TODO Your Timezone Offset                                                                  day: 'Day',                                                                                               days: 'Days'                                                                                            }, function () {                                                                                         alert('Done!');                                                                                      });                                                                                               </script>