JavaScript中的日期处理注意事项

在业务逻辑比较多的系统里面,一般都会涉及到日期的处理。包括选择起始日期和结束日期,结束日期要大于起始日期,日期的显示和输入等。

输入这一块基本都是使用jQuery datetimepicker,后来系统使用Bootstrap,就开始使用bootstrap datetimepicker。不过功能都差不多。

1.日期录入控件

<html>
    <head>
        <meta charset="utf-8"/>
        <title>日期输入</title>
        <link rel="stylesheet" href="datepicker.css"/>
        <link rel="stylesheet" href="datepicker3.css"/>

    </head>
    <body>
        <div id="sandbox-container">
            <div>

                <label for="startdate">起始日期:</label>
                <input id="startdate" type="text" type="text" class="form-control">
            </div>

        </div>

        <script type="text/javascript" src="jquery-1.10.2.min.js"></script>
        <script type="text/javascript" src="base.js"></script>
        <script type="text/javascript" src="bootstrap-datepicker.js"></script>
        <script type="text/javascript" src="bootstrap-datepicker.zh-CN.js"></script>

        <script type="text/javascript">
            $('#startdate').datepicker({
                language:"zh-CN",
                autoclose: true,
                todayHighlight: true
            }).on("hide",function(e){
                var start = new Date($("#startdate").val());
                start = maxDate(start, new Date());
                console.log("最大的日期:"+start);
            });
            /*
            $('#enddate').datepicker({
                language:"zh-CN",
                autoclose: true,
                todayHighlight: true
            });
            */
            $(document).ready(function(){

            });

        </script>
    </body>
</html>

 

2.因为bootstrap-datetimepicker项目不支持Time选择,所以国内有团队做了扩展,参考地址:http://www.bootcss.com/p/bootstrap-datetimepicker/

3.处理含有time日期格式时间的显示

ISO 格式是 ISO 8601 扩展格式的简化形式。
格式如下所示:YYYY-MM-DDTHH:mm:ss.sssZ。但是实际项目中我们存储的时间格式一般是:2014-04-18
18:52:05,这种格式。但是这种使用Date对象不能直接操作,所以我们在项目中需要自己写一个格式化的函数,对这种日期格式进行转换。网上和前期
项目中使用的格式化函数如下:

//将日期转换为字符串
        //epoch值转换为指定格式的日期字符串
        Date.prototype.toFormat=function(format){
            var o={
                "M+":this.getMonth()+1,
                "d+":this.getDate(),
                "H+":this.getHours(),
                "m+":this.getMinutes(),
                "s+":this.getSeconds(),
                "S":this.getMilliseconds(),
            }
            if(/(y+)/.test(format)){
                format=format.replace(RegExp.$1,(this.getFullYear().toString()).substr(4-RegExp.$1.length));

                for(var k in o){
                    if(new RegExp("("+k+")").test(format)){
                        format=format.replace(RegExp.$1,
                        RegExp.$1.length==1?o[k]:("00"+o[k]).substr((""+o[k]).length));
                    }
                }

            }
            return format;
        }
时间: 2024-09-18 01:52:32

JavaScript中的日期处理注意事项的相关文章

浅谈javascript中关于日期和时间的基础知识_基础知识

前面的话 在介绍Date对象之前,首先要先了解关于日期和时间的一些知识.比如,闰年.UTC等等.深入了解这些,有助于更好地理解javascript中的Date对象.本文将介绍javascript关于日期和时间的基础知识 标准时间一般而言的标准时间是指GMT和UTC,以前是GMT,现在是UTC GMT 格林尼治标准时间(GMT)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线 理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空

JavaScript 中的日期和时间及表示标准介绍_基础知识

前言 本篇的介绍涵盖以下部分: 1. 时间标准指的是什么?UCT和GMT 的概念.关联和区别? 2. 时间表示标准有哪些? 3. JS 中时间的处理 日期时间标准 日期的标准就不多说了 -- 公元纪年 是为纪念犹太人耶稣(基督)的诞生.他诞生的那一年为公元1年,诞生之前的年份称为"公元前n年" 简单来说,时间的标准就是以什么时间为起点开始计时.对于年份来说,举例来说,如果不使用公元纪年法,估计全世界交流起来就困难重重了(新中国54年,估计很把很多老外整晕) 时间标准其实挺多的. 原子时

JavaScript中实现日期组件

旅游频道的开发中需要定义各种日期组件,有的是基本的日期选择, 这个基本日期只包含如下功能 左右翻(月) 点击天回填到输入域 点击"今天",回填今天的日期到输入域 点击"关闭",日期控件关闭 有的同时显示两个月的日期 有的包含一些业务信息,比如机票搜索结果页的低价日历. 这个比上面的要复杂一些 每天的日期格子里含有价格信息 点击左右箭头会向后退请求更新每天的低价机票信息 且点击每天的格子是会重新查询 这里记录下一个基本日历组件的要点 查看本栏目更多精彩内容:http:

javascript中处理时间戳为日期格式的方法

 本文为大家介绍下javascript中如何将时间戳处理为日期格式,下面有个不错的示例,感兴趣的朋友可以参考下 公共处理时间戳函数  代码如下: /**  * 处理时间戳转换成日期格式  * @param {Object} obj 时间戳{10位的时间戳需要乘以1000:13位的时间戳不需要}  * @return {TypeName} 返回日期格式 2013-09-16  */  function fullnum(obj){  if(Number(obj) < 10){  return '0'

javascript中取前n天日期的两种方法分享

 这篇文章主要介绍了javascript中取前n天日期的两种方法,有需要的朋友可以参考一下 方法一:   代码如下: var d = new Date();   d = new Date(d.getFullYear(),d.getMonth(),d.getDate()-n);         方法二:    代码如下: var now = new Date();   now.setTime(now.getTime()-n*24*60*60*1000);  

Javascript中使用exec进行正则表达式全局匹配时的注意事项_正则表达式

本文就是介绍在使用 Javascript 中使用 exec 进行正则表达式全局匹配时的注意事项. 先看一下常见的用法: 复制代码 代码如下: <script type="text/javascript"> var pattern = /http:\/\/([^\/\s]+)/; alert(pattern.exec('http://www.codebit.cn')); // http://www.codebit.cn,www.codebit.cn alert(pattern

传递日期到javascript中

问题描述 传递日期到javascript中 要将android java代码中的变量传递到webView的javascript中,使用javascript接口.但是系统警报:undefined java的部分代码 public class WebAppInterface { Context mContext; WebAppInterface(Context c) { mContext = c; } @JavascriptInterface public int getValue() { retu

JavaScript中日期函数的相关操作知识_javascript技巧

时间对象是一个我们经常要用到的对象,无论是做时间输出.时间判断等操作时都与这个对象离不开.除开JavaScript中的时间对象外,在VbScript中也有许多的时间对象,而且非常好用.下面还是按照我们的流程来进行讲解JavaScript中日期函数. new Date() new Date(milliseconds) new Date(datestring) new Date(year, month) new Date(year, month, day) new Date(year, month,

JavaScript中 日期输入框焦点失去后,改变其他日期的时间

问题描述 JavaScript中 日期输入框焦点失去后,改变其他日期的时间 我选中第一个日期离开光标后,后面的日期怎样分别自动更改为第一个日期所在月的周二到周一的时间 解决方案 焦点失去有一个监听时间叫onblur(印象中差不多这样),可以让第一个时间注册这个监听事件,在监听时间的里面写js代码控制其他控件 解决方案二: 对应插件有自己的方法,看看api,然后找到设置值的方法使用就行了 解决方案三: 看日期插件的api,一般有对应的事件配置,如my97的onpicking,然后通过onpicki