/*

*基本思路,将字符串时间转化为时间对象,通过毫秒数来加减时间,然后在转化为字符串输出

*/

//转化字符时间yy-mm-dd hh:mm:ss 为时间对象   使用split进行字符串的分割,取值并创建新的时间对象
               var toDate = function(strDateTime){
                    var strDateTimes = strDateTime.split(' ');
                    var strDate = strDateTimes[0].split('-');
                    var year = Number(strDate[0]);
                    var month = Number(strDate[1]) - 1;
                    var day = Number(strDate[2]);
                    
                    var strTime = strDateTimes[1].split(':');
                    var hour = Number(strTime[0]);
                    var minute = Number(strTime[1]);
                    var secend = Number(strTime[2]);
                    return new Date(year, month, day, hour, minute, secend);
                }

//转化为字符时间yy-mm-dd hh:mm:ss  通过时间对象的方法获取时分秒,使用字符串进行拼接返回字符串
            var toStrDate = function(objDate){
                var year = objDate.getFullYear();
                var month = objDate.getMonth()+1;
                var day = objDate.getDate();
                var hour = objDate.getHours();
                var minute = objDate.getMinutes();
                var second = objDate.getSeconds();
                if(month<10){
                    month = "0"+month;
                }
                if(day<10){
                    day = "0"+day;
                }
                if(hour<10){
                    hour = "0"+hour;
                }
                if(minute<10){
                    minute = "0"+minute;
                }
                if(second<10){
                    second = "0"+second;
                }
                return year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second
            }
            /*添加时间

*strTime为字符串时间格式yy-mm-dd hh:mm:ss   或  时间对象

*如果未输入则默认为当前时间

*addTime为秒数

*/

var addDate = function(strTime,addTime){

var addTime = Number(addTime)*1000;

var newDate = new Date();

//toDate

if(typeof(strTime)=="object"){

newDate = strTime;

}else if(typeof(strTime)=="string"){

var strDateTimes = strTime.split(" ");//年月日

var strDate = strDateTimes[0].split("-");

           var year = Number(strDate[0]);

           var month = Number(strDate[1])-1;

var day = Number(strDate[2]);

var strTime = strDateTimes[1].split(":");//时分秒

var hour = Number(strTime[0]);

var minute = Number(strTime[1]);

var second = Number(strTime[2]);

newDate = new Date(year,month,day,hour,minute,second);

}else{

alert("输入的格式不正确")

}

//添加时间

var addDate = newDate+addTime;

//toStr

var new_year = addDate.getFullYear();

var new_month = addDate.getMonth()+1;

var new_day = addDate.getDate();

var new_hour = addDate.getHours();

var new_minute = addDate.getMinutes();

var new_seconds = addDate.getSeconds();

if(new_year<10){

new_year = "0"+new_year;

};

if(new_month<10){

new_month = "0"+new_month;

};

if(new_day<10){

new_day = "0"+new_day;

};

if(new_hour<10){

new_hour = "0"+new_hour;

};

if(new_minute<10){

new_minute = "0"+new_minute;

};

if(new_second<10){

new_second = "0"+new_second;

};

return  new_year+"年"+"-"+new_month+"月"+"-"+new_day+"日"+" "+new_hour+"时"+":"+new_minute+"分"+":"+new_second+"秒"
            };

转换时间对象和字符串对象&添加时间的更多相关文章

  1. JavaScript课程——Day07(对象简介、Math对象、时间对象、字符串对象)

    1.对象简介 在javaScipt中,一切皆为对象或者皆可以被用作对象 宿主对象:window,document 内置对象:Number  String  Boolean  Array数组  Obje ...

  2. js对象 1字符串对象2时间日期对象3数字对象

    1字符串对象  直接对字符操作 var str = "这,是,不,是,字,符,串";        //字符串转数组  字符串.split(分隔符)        var arr ...

  3. JS对象 String 字符串对象定义字符串的方法就是直接赋值。比如: var mystr = "I love JavaScript!"

    String 字符串对象 在之前的学习中已经使用字符串对象了,定义字符串的方法就是直接赋值.比如: var mystr = "I love JavaScript!" 定义mystr ...

  4. 学习笔记:javascript内置对象:字符串对象

    1.字符串的创建   var str = "Hello Microsoft!";   2.字符串属性   constructor  返回创建字符串属性的函数   length    ...

  5. 第七天:JS内置对象-String字符串对象

    1.String对象  String对象用于处理已有的字符串 字符串可以使用双引号或单引号 String对象有一些常用的方法和属性,例如length 示例代码: <!DOCTYPE html&g ...

  6. js中JSON对象和字符串对象相互转化

    JSON.stringify(value [, replacer] [, space]) //作用,将json数据转化为字符串value:是必须要的字段.就是你输入的对象,比如数组啊,类啊等等. re ...

  7. redis 系列9 对象类型(字符串,哈希,列表,集合,有序集合)与数据结构关系

    一.概述 在前面章节中,主要了解了 Redis用到的主要数据结构,包括:简单动态字符串.链表(双端链表).字典.跳跃表. 整数集合.压缩列表(后面再了解).Redis没有直接使用这些数据结构来实现键值 ...

  8. redis 系列10 字符串对象

    一. 字符串对象编码 Redis中字符串可以存储3种类型,分别是字节串(byte string).整数.浮点数.在上章节中讲到字符串对象的编码可以是int, raw,embstr. 如果一个字符串对象 ...

  9. JavaScript对象、JSON对象、JSON字符串的区别

    一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...

随机推荐

  1. 谈谈分布式版本管理工具Git

    一.主流的版本管理工具 目前在企业中比较主流的版本管理工具有:GIT.SVN.CVS等等. 二.什么是Git? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 L ...

  2. [2014-12-30]如何动态构造Lambda表达式(动态构造Lambda查询条件表达式)

    声明 本文对Lambda表达式的扩展,示例代码来源于网络. 场景描述 web开发查询功能的时候,如果查询条件比较多,就会遇到动态组合查询条件的情况.在手写sql的情况下,我们一般会根据传入的参数,针对 ...

  3. nohup介绍

    背景 我们通常使用&将前台任务变为后台任务执行,但是如果只是使用&,那么在突然断网或者关闭启动该任务的终端(ps:可使用putty来测试,部分软件如mobaxterm做了优化,关闭终端 ...

  4. macaca测试web小例子

    上午刚把macaca的环境在公司的电脑上吧web 端的环境给搭建好,于是乎,看看网上的例子,看看官方的文档 https://macacajs.github.io/wd.py/ 可以在这个链接看到原滋原 ...

  5. selenium,html高宽设置成了0,会影响元素可见性,怎么手动修改某个元素的高宽?

     问题:要js的话,需要用webelment,此时元素已经是不可见了   ((JavascriptExecutor) this.driver).executeScript("argument ...

  6. python 小技巧 防止SSL报错信息

    代码里面 只需要添加如下2行: import ssl ssl._create_default_https_context = ssl._create_unverified_context

  7. Linux io Model

    socket阻塞与非阻塞,同步与异步 作者:huangguisu 1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调 ...

  8. JavaScript实现隔行换颜色

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  9. poj 3177-3352边双联通

    买一送一啊  3177和3352的区别在于3177数据有重边!但是我先做3177的  那么就直接ctrl+c+v搞3352了~. 题意:给一个无向图,要令每个点之间至少有两条不重合的路,需要至少加多少 ...

  10. 个人作业2————英语学习APP的案例分析

    必应词典案例分析 第一部分 调研, 评测 1.下载并使用 第一次使用必应词典,安装完打开便是这样的界面,第一印象还行,界面平平无奇,比较简洁,上面分四个模块,这样一眼看去感觉功能比较单一 使用了下例句 ...