热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

日期处理

开发工具与关键技术:VS 后端作者:陈芝番                                                         撰写时间:2019.7.

开发工具与关键技术:VS   后端

作者:陈芝番                                                         

撰写时间:2019.7.24

 

在做项目的时候遇到一个问题:如何获取当天时间+具体天数=获取指定日期。那就是对具体时间进行加减等。

对指定日期进行加减做法如下:

Html部分:

对指定日期进行加减

获取当前日期,增加7天:

获取当前日期,增加7年:

Js部分:innerHTML可以重绘页面的一部分,用innerHTML代替DOM操作,减少DOM操作次数,优化Javascript性能。

this.getElement("setXDate1").innerHTML = "获取当前日期,增加7天:" + this.setXDate(d, 0 , 0, 7);

this.getElement("setXDate2").innerHTML = "获取当前日期,增加7年:" + this.setXDate(d, 7);

对指定日期进行加减

_DM.setXDate = function(date, xY, xM, xD, xh, xm, xs){

        xY = xY || 0;

        xM = xM || 0;

        xD = xD || 0;

        xh = xh || 0;

        xm = xm || 0;

        xs = xs || 0;

//如果存在年的差值,则计算

        if(xY){

           date.setFullYear(date.getFullYear() + xY);

        }

        //如果存在月的差值,则计算

        if(xM){

           date.setMonth(date.getMonth() + xM);}

//如果存在日的差值,则计算

        if(xD){

           date.setDate(date.getDate() + xD);

        }

//如果存在时的差值,则计算

        if(xh){

           date.setHours(date.getHours() + xh);

        }

//如果存在分的差值,则计算

        if(xm){

           date.setMinutes(date.getMinutes() + xm);

        }

//如果存在秒的差值,则计算

        if(xs){

           date.setSeconds(date.getSeconds() + xs);

        }

        return date.format("YYYY-MM-DD h:m:s")

    }

对指定日期进行加减效果如下:

或者对时间延伸发展:获取指定日期所在周是第几周,比较两个日期的差等。

获取指定日期所在周是第几周:

Html 部分:

获取指定日期所在周是第几周

Js部分:

this.getElement("getHowManyWeeks").innerHTML="第" + this.getHowManyWeeks("2014", "1", "6") +"周";

//获取指定日期所在周是第几周

_DM.getHowManyWeeks = function(Y, M, D){

//总天数

        var totalDays = 0,

//默认开始为第1个月

            i = 1;

//计算总天数

for(; i

            totalDays += this.getMonthDays(Y, M);

        }

        totalDays += D;

//除以7,向上取数,计算第几周

        return Math.ceil(totalDays/7);}

效果如下:

比较两个日期的差:

Html部分:

比较两个日期的差

2014年6月3日与2014年6月4日差值:

Js部分:

//比较两个日期的差

this.getElement("getDateDifferenceValue").innerHTML = "2014年6月3日与2014年6月4日差值" + this.getDateDifferenceValue(

                        {

                            "Y":"2014",

                            "M":"6",

                            "D":"3"

                        },

                        {

                            "Y":"2014",

                            "M":"6",

                            "D":"4"

                        }) + "秒";

//比较两个日期的差

_DM.getDateDifferenceValue = function(date1,date2){

        var d1 = new Date(date1.Y || 0, (date1.M-1) || 0, date1.D || 1, date1.h || 0, date1.m || 0, date1.s || 0).getTime(),

        d2 = new Date(date2.Y || 0, (date2.M-1) || 0, date2.D || 1, date2.h || 0, date2.m || 0, date2.s || 0).getTime();

        return (d1 - d2)/1000;}

比较两个日期的差,效果如下:

结语:处理日期加减,比较两个日期的差,获取指定日期所在的周是第几周。



推荐阅读
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
  • jQuery如何判断一个元素是否被点击?
    本文介绍了使用jQuery判断一个元素是否被点击的方法,并通过示例进行了具体说明。注意要指定父级,否则会执行多次。 ... [详细]
author-avatar
栋逼逼丶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有