js 求时间变量 上月 昨天 6个月前

easyman123 2018-01-04 10:13:50
Date.prototype.Format = function (fmt) { //author: meizz   
var o = {
"M+": this.getMonth()+1 , //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}


var date=new Date;
var year=date.getFullYear();
var month=date.getMonth()+1;
month =(month<10 ? "0"+month:month);
var half_month = (year.toString()+month.toString()-7);//6个月前
var month = (year.toString()+month.toString()-1);//上月
var yday=new Date(new Date().getTime()-1*24*60*60*1000).Format("yyyy-MM-dd");//昨天
var tday=new Date(new Date().getTime()).Format("yyyy-MM-dd");//今天


这是我的kettle里的js写的,但为什么翻年了 就变成201800了,6个月期前也不对,求大神
...全文
584 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
roffer 2018-01-04
  • 打赏
  • 举报
回复

window.console = window.console || {log:function(s){alert(s);}};

	Date.prototype.calcAndFormat = function(num,type,format){
		var m = this.getMonth();
		var d = this.getDate();

		if(type == 1){//天
			this.setDate(d + num);
		}else if(type == 2){//月
			this.setMonth(m + num)
		}

		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() + "").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] : ('0'+o[k]).slice(-2));  
	    
	    return format;   
	}

	var D = new Date();
	var format = D.calcAndFormat(-1,1,'yyyy-MM-dd');
	console.log(format);
文盲老顾 2018-01-04
  • 打赏
  • 举报
回复
其实js对日期的计算非常有意思,弱类型到不能再弱类型了,比如,声明2018年1月1日,可以使用 new Date(2018,0,1),如果声明2017年12月31日,则可以new Date(2017,11,31),也可以new Date(2018,0,0),还可以new Date(2018,-1,31),也就是说js会自动将你声明的时间转换成合法时间 那么接下来就简单了

var d = new Date(); // 获取当前时间
var yesterday = new Date(d.getFullYear(),d.getMonth(),d.getDate()-1); // 日期位减1,表示前一天
var half_years_ago = new Date(d.getFullYear(),d.getMonth()-6,d.getDate()); // 月份位减6,表示六个月前
Mike_csy 2018-01-04
  • 打赏
  • 举报
回复
直接在开发工具上是不认识console的(我用的eclipse)。你在网页上试一下。而且console.log()只是一个输出语句,可以不要,或者换为alert()试一下。(这回复验证码我是真的服了)
easyman123 2018-01-04
  • 打赏
  • 举报
回复
ReferenceError: "console" is not defined. (script#33) 为什么用你的在kettle里要报错
Mike_csy 2018-01-04
  • 打赏
  • 举报
回复
你那些日期基本上都是字符串和数字之间的运算当然会出错;我试了一下这样应该可以: var date=new Date(); date.setMonth(date.getMonth()-6);//6个月前 console.log(date); var Month = date.getMonth(); Month = (Month+1<10)?"0"+Month:Month; var year = date.getFullYear(); var half_Month = year+""+Month; console.log(half_Month);
clark_kidd 2018-01-04
  • 打赏
  • 举报
回复
Date.prototype.addDays = function (d) {
    return new Date(this.valueOf() + d * 24 * 60 * 60 * 1000);
}
alert(new Date().addDays(7));
alert(new Date().addDays(-1));
按这个思路你自己扩展一下
 言,SnSites是平台,其功能可想而知是非常多的;如下我们也只能依免费版的SnSites平台来回忆,想到一个就写一个了.总有或多或少的功能重复或者遗漏的,如果您在使用中能综合或者总结中功能列表,麻烦您发一份详细的功能列表给我们,惠至:info@hkeb.com 不胜感激! SnSites V1.0.1 ------------------------- 1,所见所得的网页文本编辑功能. 2,任意栏目任意页面自定义24小时内启动与关闭. 即在24小时内你可以定义24小时的关闭与启动状态. 比如.你可以定义.8---11点是启动.其他时间是关闭.这样可以方便不在线的人管理网站. 3,任意栏目任意页面立体权限控制 此功能在SnSitesV1.0.0中尚欠缺,SnSitesV1.0.0只编写了后台的权限控制, 台未列入SnSitesV1.0.1中将完美解决后台权限控制的问题. 4,任意栏目配置批量增加,任意页面区域批量注入, 让你可以在短短的弹指一挥间配置起默认的下载站,ISP专用站,新闻站,技术站等等网站. 5,任意位置,任意栏目内容与新闻全站搜索. 6,增加新闻功能模块. 7,出现的新的SnSites页面配置管理方式,模板管理. 8,增加4种区域解码器,即ASP解码,JS解码,HTML解码,自动数据解码; 将使你的网站风格大变,变到何种程度? 如果我们官方开发人员不看我们的特有的参数的话永远也不可能知道你使用的是SnSites系统. 9,商务管理中的订单管理功能更强大; 10,增加邮件列表功能. 11,超强的商业组件控制功能.(仅限ISP专业版) SnSites V1.0.0 -------------------- 台功能区(I) -------------------- I1-1,自动判断访问者机器语言; I1-2,精确定位来访者的后动作与状态. I1-3,任意页Get方式攻击代码过滤功能.; I1-4,POST方式统一过滤恶意代码,增加安全系数; I1-5,实时显示系统主核心代码执行时间; I1-6,可选网站在线状态统计功能.比如,全站在线统计,栏目在线统计,页面在线统计; I1-7,正版SnSites与商业版SnSites标识(商业版才有); I1-8,任意区域自动变距.任意区域自动变换; I1-9,精确导航浏览者位置. I1-10,页访问记录功能.做到任意动作均不放过. I1-11,用户注册,客户注册,代理注册,自动发邮件或者短信通知. I1-12,任意恶意登录者均记录恶意登录者详细信息. -----------相对于商城模块-------------------- I2-1,N种文本产品列表数据调用方法.如最新产品,最新推荐,热门商品等 I2-2,N种图形排列数据调用方法.如九大推荐商品,九大热门商品等. I2-3,任意栏目商品数据调用; I2-4,商品参数功能与商品功能指数功能;可详尽描述商品数据. I2-5,商品会员评论与打分功能; I2-6,点击小图查看商品大图; I2-7,现价与原价均列出以作优势对比; I2-8,登录下订单功能,任意调整购物篮商品数量与个数功能; I2-9,订单到达邮件或者短信通知站长或者相关管理人员(手机短信); I2-10,订单在线实时支付功能; I2-11,自定义的产品列表方式; I2-12,订单邮件确认功能.即订单仅且仅当下订单者从所输入的邮箱处确认了订单才转为有效状态; -----------------相对于文章模块------------------------ I3-1,N种文章调用方式,如最热门文章,最新文章等; I3-2,任意栏目文章数据调用方式; I3-3,文章置顶平台任一区域; I3-4,文章评论功能; I3-5,文章UBB显示方式,减少HTML安全危险; I3-6,显示模式的多样化,后台控制; I3-7,类门户网站显示模式; ------------------------------------------------------ 其他功能模块无法一一细述,归入后台区 ------------------------------------------------------ I4-1,用户注册 I4-2,客户注册 I4-3,代理注册 I4-4,页脚网站信息显示区 I5-5,页底部版本显示区域 ------------------------------------------------- 后台管理区(II) ------------------------------------------------- II1系统管理 II1-1系统配置 II1-1-1,域组管理 II1-1-1-1,添加域组,可定义域组的中文标识与域名;并添加默认配置信息; II1-1-1-2,编辑域组,可修改已有域组的中文标识与域名; II1-1-1-3,删除域组,并不删除已经有的默认配置信息; II1-1-2,栏目管理 II1-1-2-1,添加栏目,可定义栏目的名称,栏的简介,栏目的标识图,栏目管理人员,栏目的所属模块并有自动配置栏目功能等. II1-1-2-2,编辑栏目,仅编辑已有栏目的信息; II1-1-2-3,删除栏目,并不删除已经有栏目配置信息; II1-1-3,配置管理 II1-1-3-1,添加配置,可手工添加超强的配置信息,功能太多,自己进入研究; II1-1-3-2,编辑配置,可手工编辑已有的任意栏目任意页面的配置. II1-1-3-3,删除配置,可批量删除配置信息; II1-1-4,区域管理 II1-1-4-1,添加区域,可手工添加任意栏目任意页面任意位置(左,中,右)的区域信息,功能太多,自己进入研究.也可参考相关教程; II1-1-4-2,编辑区域,可编辑已有区域的定位页面,标题文字,背景色,行列数据等; II1-1-4-3,删除区域,将已有的区域删除,支持批量删除; II1-1-5,权限管理 II1-1-5-1,权限页添加,删除,编辑,权限开关状态设定等. II1-1-5-2,权集添加,编辑,删除等.立体权限防护 II1-1-6,终极管理     本管理仅为方便管理人员对平台下所属域组下各大栏目的全局管理 II1-1-7,初始配置     可设置当状态下的下一栏目下的配置信息; II1-1-8,自动更新     可自动从中时空网络SnSites自动更新虚拟服务器上下载最新的补丁和版本程序;需要正版软件用户序列号支持; II1-2,模块管理 II1-2-1,模块配置     最基本的平台配置,决定了栏目里可使用的模块数;一般安装后必须先对此配置.默认存在的有Default,bbs,Market,webinfo等模块; II1-2-2,短信管理     管理网站用户之间的短信数据,编辑,删除; II1-2-3,文章管理     可添加平台文章,任意栏目,任意区域置顶,UBB支持.自由上传相关文件; II1-2-3,下载管理     可添加平台文件,任意栏目,任意区域置顶,UBB支持说明,多站点下载网站支持,自由上传相关文件,片断判断文件大小,星级软件判断; II1-2-4,论坛管理     对全平台下所有栏目下的论坛主题数据进行编辑,删除(同时删除回复数据); II1-2-5,电影管理     可对全平台下所有栏目添加,编辑,删除电影数据,并支持多站点播放功能等;可自由上传音乐文件; II1-2-6,音乐管理     可对全平台下所有栏目添加,编辑,删除音乐数据,并支持多站点音乐下载;自动判断音乐后缀并采取合适的播放器进行播放,可自由上传音乐文件; II1-2-7,图形管理     可对全平台下所有栏目添加,编辑,删除图形文件数据,并支持图形等级等.也可以手工上传图形文件等; II1-2-8,网址管理     可对全平台下所有栏目添加,编辑,删除网址数据,并可构建成庞大的网址之家功能; II1-2-9,评论管理     可对全平台下任意频道,任意ID的评论坛数据进行编辑,删除;修改分值等; II1-2-10,补丁管理     可对从中时空网络SnSites官方虚拟服务器上下载的补丁进行管理;但不产生实质性的操作,仅为统计和自动更新作参考之用; II1-2-11,信息管理     可对全平台下任意栏目添加网站的信息添加,编辑,修改等,诸如"关于我们","联系方法"之类的均可; II1-3,成员管理    可对全平台下所有的用户,客户,代理代理进行管理,诸如用户,客户,代理等级的添加,编辑,删除,管理员的添加,权限的编辑等等; II1-4,统计系统    可对全平台下所有页面所有栏目的数据进行统计;诸如,全站统计,本日统计,昨日统计,统计,今年统计等,网站事件是对全平台下所有出现的可能的错误警告信息的记录,忠实记录着平台下所有访问者可疑的操作记录; II2,商务管理   此处管理着的是全平台下的商品,订单,财务管理,. II2-1,商品管理    可对全平台下所有的栏目添加,编辑,删除产品参数,参数集合,产品数据;支持产品说明的UBB方式; II2-2,订单管理    可对全部订单进行,确认,付费订单等操作..包括订单搜索,订单查看编辑等; II2-3,财务管理    可对全平台下的收入支出进行财务管理; II3,服务管理(ISP专业版才拥有此功能) II3-1,Vdns服务 II3-2,空间服务 II3-3,FTP服务 II3-4,SQL服务 II3-5,广告服务 II3-6,搜索登录 II3-7,域名服务 II3-8,主机服务 II3-9,邮局服务 II4,主机管理(ISP专业版才拥有此功能) II4-1,IIS管理 II4-2,FTP管理 II4-3,文件管理 II4-4,SQL管理 II4-5,LOG管理 II4-6,Mail管理 II4-7,DNS管理 II4-8,VDNS管理 II5,在线工具 II5-1,菜单编辑     可对管理后台的菜单进行编辑,但菜单的编辑并不影响权限控制里头已有的控制权限; II5-2,程序编辑     可对平台下所有的程序文件进行导入,查询和编辑; II5-3,程序公司     可自主产生相对于某一数据表的动态程序;谓之程序公司; II5-4,批量修改     可批量修改平台下所有程序文件,慎用; II5-5,环境变量 用于查看平台环境; II6 系统状态

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧