自己封装的data日期工具类

HTML页面的调用

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <script src="js/DateUntils.js" type="text/javascript" charset="utf-8"></script>

    <body>
        <div id="strTime">

        </div>
    </body>
    <script type="text/javascript">
        // 获取当前时间的日(年-月-日 时:分:秒)
        console.log(dateUntils.datetime());
        // 获取当前时间的(年-月-日)
        console.log(dateUntils.date());
        // 获取当前时间的( 时:分:秒)
        console.log(dateUntils.time());
        console.log("---------")
        // 获取指定时间的详细信息
        dateUntils.name = "2015-05-11";
//        dateUntils.name = new Date();
        console.log(dateUntils.datetime());
        console.log(dateUntils.date());
        console.log(dateUntils.time());
        console.log("---------")
        /*
         * 当前时间
         * num 默认为0;获取的是今天日期
         */
        console.log(dateUntils.appointedDay());
        // 获取五天前的日期
        dateUntils.num = "-5";
        console.log(dateUntils.appointedDay());
        //获取五天后的日期
        dateUntils.num = "5";
        console.log(dateUntils.appointedDay());
        console.log("-------------");
        /**
         * 活动日期
         */
        // 设置开始时间
        dateUntils.startDate = "2018-02-15";
        // 设置结束时间
        dateUntils.endDate = "2018-05-11";
        // 开始活动时间事件 默认为关闭
        dateUntils.bool = true;
        // 设置 活动返回值接收的id
        dateUntils.id = "strTime";
        // 调用事件。如果bool为false,那么这个方法不会执行
        dateUntils.startAndEnd();
    </script>

</html>

DateUntils js工具类

/**
 * 获取当前日期的时间格式
 */
var dateUntils = {
    name: "", // 指定时间
    num: 0, // 多少天前后
    startDate: "", // 活动开始时间
    endDate: "", // 活动结束时间
    id : "",
    bool: false,
    startAndEnd: function(){
        if (this.bool && this.id != "" || this.id != null) {
            start(this.id);
        } else {
            console.log("id没有设置,或者bool值没有设置为true");
        }
    }, // 是否进行活动
    type: function() {
        return this.name == "" ? fDate(new Date()) : fDate(this.name);
    },
    datetime: function() {
        return this.type().year + "-" + this.type().month + "-" + this.type().day + " " +
            this.type().hour + ":" + this.type().minute + ":" + this.type().second;
    },
    date: function() {
        return this.type().year + "-" + this.type().month + "-" + this.type().day;
    },
    time: function() {
        return this.type().hour + ":" + this.type().minute + ":" + this.type().second;
    },
    appointedDay: function() {
        return appointedDate(this.num);
    }
}
/**
 * 根据num值进行获取指定几天前或几天后的日期
 * @param {Object} 必须为number类型 可以为负数和整数
 */
function appointedDate(num) {
    var d = new Date();
    var newDate = d.getTime() + 1000 * 60 * 60 * 24 * num;
    var mydate = new Date(newDate);
    var str = mydate.getFullYear() + "-";
    str += toTwo(mydate.getMonth() + 1) + "-";
    str += toTwo(mydate.getDate());
    return str;
}
/**
 * 根据输入的时间进行date日期转换
 * @param {Object} 手动输入的时间
 */

function fDate(d) {
    // 创建当前时间
    var date = new Date(d);
    // 获取当前时间的年份
    var year = date.getFullYear();
    //  获取当前时间的月份(0-11),当前月份加一为实际月份
    var month = date.getMonth() + 1;
    //  获取当前时间的日期(天数
    var day = date.getDate();
    //  获取当前时间的小时数
    var hour = date.getHours();
    //      获取当前时间的分钟数
    var minute = date.getMinutes();
    //     获取当前时间的秒数
    var second = date.getSeconds();
    return {
        year: year,
        month: toTwo(month),
        hour: toTwo(hour),
        day: toTwo(day),
        hour: toTwo(hour),
        minute: toTwo(minute),
        second: toTwo(second)
    }
}

/**
 * 判断当前数字是否小于10,如果小于10,则在数字前面加0
 */
function toTwo(t) {
    return t >= 10 ? t : "0" + t;
}
/**
 * 获取还剩下多少时间开始或结束
 * @param {Object} 秒数
 */
function timeCountDown(time) {
    var day = Math.floor(time / (60 * 60 * 24));
    var hour = Math.floor((time - day * 24 * 60 * 60) / 3600);
    var minute = Math.floor((time - day * 24 * 60 * 60 - hour * 3600) / 60);
    var second = Math.floor(time - day * 24 * 60 * 60 - hour * 3600 - minute * 60);
    return toTwo(day) + "天" + toTwo(hour) + "小时" + toTwo(minute) + "分" + toTwo(second) + "秒";
}
/**
 * 页面显示的地方
 * @param {Object}  页面接收的id值
 */
function ShowCountDown(divname) {
    var now = new Date();
    var start = new Date(dateUntils.startDate);
    var end = new Date(dateUntils.endDate);
    var startTime = (start.getTime() - now.getTime()) / 1000;
    var endtTime = (end.getTime() - now.getTime()) / 1000;
    var str;
    if(startTime >= 0) {
        str = "活动尚未开始,还有:" + timeCountDown(startTime) + "开始 ";
    } else if(endtTime > 0) {
        str = "活动正在进行中,还有:" + timeCountDown(endtTime) + "结束 ";
    } else {
        str = "活动已结束";
        window.clearInterval(activityTime);
    }
    var cc = document.getElementById(divname);
    cc.innerHTML = str;
}
function start(id){
    ShowCountDown(id);
    var activityTime = window.setInterval(function() {
        ShowCountDown(id);
    }, 1000);
}

若在使用中出现问题,请联系我

原文地址:https://www.cnblogs.com/yaowan/p/8966820.html

时间: 2024-10-10 17:44:27

自己封装的data日期工具类的相关文章

JS 日期工具类-基于yDate

源码下载 前言:最近在用到JS日期操作时,发现有一些不方便,于是搜素了一些网上的资料,基于一个开源工具类-yDate 进行了个性化定制,封装成了一个日期工具类工具函数大概介绍:1.普通的日期操作2. 获得一些绝对时间,如1970年 到现在的绝对年,月份,日期,描述,毫秒数等等3. 日期比较,克隆,开始时间,结束时间,字符串(输出时可以自定义格式)输出等4. 日期相加,相减(返回一个新的日期对象), 比如1月31日 1天会自动变为 2月1日等等5. 简化构造,可以传入字符串进行构造等等6. 更多请

dateUtil 日期工具类

package com.lbi.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.slf4j.Logg

Java日期工具类,Java时间工具类,Java时间格式化

Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright  蕃薯耀 2017年2月4日 15:03:27 星期六 http://www.cnblogs.co

日期工具类 - DateUtil.java

日期工具类,提供对日期的格式化和转换方法.获取区间日期.指定日期.每月最后一天等. 源码如下:(点击下载 -DateUtil.java.commons-lang-2.6.jar ) import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import

Joda开源扩展插件,神马日期工具类都是浮云!!Demo下载运行即可查看,注释齐全,真心好用,分享大家。

原文:Joda开源扩展插件,神马日期工具类都是浮云!!Demo下载运行即可查看,注释齐全,真心好用,分享大家. 源代码下载地址:http://www.zuidaima.com/share/1550463610604544.htm 真心好用,分享大家.

JAVA 日期工具类的总结

一般,在项目中,我们会会经常使用到日期的各种方式的处理,在各个业务逻辑操作中,都需要相关的日期操作,因此,实现项目中的日期工具类的提出,还是十分重要的,下面,就项目中常用到的日期的相关操作方式,做了一个小的工具类,方便项目使用,也方便以后的复用和查询.下面见代码: /** * * 〈一句话功能简述〉<br> * 〈功能详细描述〉 日期工具类 * * @author 12061799 * @see [相关类/方法](可选) * @since [产品/模块版本] (可选) */ public cl

常用的日期工具类

对于开发中的日期工具类进行总结: package com.yunhwa.base.util; import java.math.BigDecimal;import java.sql.SQLException;import java.sql.Timestamp;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;

android日期工具类DateHelper

日期工具类DateHelper 一个工具类,可以得到指定月份的天数,可以得到以前或以后多少天.周.月.年的日期等. 代码如下: import android.annotation.SuppressLint; import android.text.TextUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Dat

日期工具类 DateUtils(继承org.apache.commons.lang.time.DateUtils类)

/** * */ package com.dsj.gdbd.utils.web; import org.apache.commons.lang3.time.DateFormatUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; /** * 日期工具类, 继承org.apache.commons.l