JS 中 Date() 的其他操作集锦
好吧,这周完全是个业务型的程序猿了,明显地能感觉到洗头发时头皮都会有点疼,是秃顶的前兆。
算得上收获的就是有较多的接触到计算时间方面的事件...嗯,几个笔记分享一下
// 处理 /Date("xxxxxxxxx")/ 形态的时间戳
function changeDate(datetime) {
return new Date(parseInt(datetime.replace("/Date(", "").replace(")/", ""), 10));
}
// 将时间字符串转换成 Date 形式
// 这里插播一个 bug,苹果机不能玩 new Date("xxxx-xx") 这样的字符串形式,所以得改成 new Date("xxxx","xx")
// 只能固定为年月日时分秒这样的格式,智能不了呀
function initDate(date) {
if (arguments.length > 1) var D = arguments;
else if (typeof date == "string") var D = date.split(/[- \.:\/]/);
else return new Date(date);
switch (D.length) {
case 1: return new Date(D); break;
case 2: return new Date(D[0], --D[1]); break;
case 3: return new Date(D[0], --D[1], D[2]); break;
case 4: return new Date(D[0], --D[1], D[2], D[3]); break;
case 5: return new Date(D[0], --D[1], D[2], D[3], D[4]); break;
case 6: return new Date(D[0], --D[1], D[2], D[3], D[4], D[5]); break;
}
}
// 计算变化多少天后的日期
function DateAddDay(date, days) {
var d = new Date(date);
return new Date(d.setDate(d.getDate() + days));
}
// 该月第一天的日期
function FirstDay(date) {
var d = new Date(date);
return new Date(d.setDate(1));
}
// 计算该年该月有几天
function HowMuchDay(month, year) {
if (!year) year = new Date().getFullYear();
var y = [31, (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
for (var i in y) {
if (i == (month - 1)) return y[i];
}
}
// 倒计时,需要秒数则可以给返回值加上 .getTime()
// 时间是可以做减法的哟,我才知道
function TimeCountDown(endTime) {
var now = new Date();
var target = initDate(endTime); // initDate 前面有提
return new Date(target - now);
}
// 获得本周周一的日期,其他都可以根据 DateAddDay 来算咯
function FirstDayInThisWeek(date) {
var date = initDate(date);
return DateAddDay(date, 1 - date.getDay());
}
// 转换这天星期几
function ConvertDay(date) {
var arr = ["一","二","三","四","五","六","日"]
return arr[initDate(date).getDay()-1];
}
// 将 Date 转换成字符串格式
// pattern 的格式嘛,只要有着几个字母就行了
// yyyy = 年 mm = 月 dd = 日 hh = 小时 nn = 分 ss = 秒 w = 星期几
function ConvertDateToString(date, pattern) {
var str = pattern;
str = str.replace(/y{4}/i, date.getFullYear());
str = str.replace(/m{2}/i, (date.getMonth()+1));
str = str.replace(/d{2}/i, date.getDate());
str = str.replace(/h{2}/i, date.getHours());
str = str.replace(/n{2}/i, date.getMinutes());
str = str.replace(/s{2}/i, date.getSeconds());
str = str.replace(/w/i, "星期"+ConvertDay(date));
return str;
}
// 自动补零
function addZero(num, n) {
var len = num.toString().length || 2;
while(len < n) {
num = "0" + num;
len++;
}
return num;
}
JS 中 Date() 的其他操作集锦的更多相关文章
- JS高级面试题思路(装箱和拆箱、栈和堆、js中sort()方法、.js中Date对象中的getMounth() 需要注意的、开发中编码和解码使用场景有哪些)
1.装箱和拆箱: 装箱:把基本数据类型转化为对应的引用数据类型的操作: var num = 123 // num var objNum = new Num(123) // object console ...
- [转]js中confirm实现执行操作前弹出确认框的方法
原文地址:http://www.jb51.net/article/56986.htm 本文实例讲述了js中confirm实现执行操作前弹出确认框的方法.分享给大家供大家参考.具体实现方法如下: 现在在 ...
- js实现小时钟,js中Date对象的使用?
介绍一下js中Date对象的使用 dateObj = new Date() dateObj = new Date(dateValue) dateObj = new Date(year,month,da ...
- JS 中的日期时间操作计算实例
实例 一:已知日期格式为 "YYYY/MM/DD",计算相对于今天的天数差. function fromNow(date){ var mTimes = new Date(date) ...
- js对Date对象的操作的问题(生成一个倒数7天的数组)
今天在论坛上看到这样一个问题如下: 问题描述: 使用JavaScript生成一个倒数7天的数组.比如今天是10月1号,生成的数组是["9月25号","9月26号" ...
- js中对cookie的操作及json数据与cookie结合的用法
cookie的使用 添加cookie 添加cookie:document.cookie = “key=value”; // 一次写入一个键值对 document.cookie = 'test1=hel ...
- js中Date()对象详解
var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...
- 对oracle中date/timestamp的操作
设置oracle中date的会话格式为 'yyyy-mm-dd hh24:mi:ss' alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss ...
- js中对时间的操作
我们先来看一下如何获取当前时间: var date = new Date() //输出:Tue Jul 02 2019 10:36:22 GMT+0800 (中国标准时间) 紧接着,我们来获取相关参数 ...
随机推荐
- 小米Note全网通支持7模19频:先发标准版
2015-06-26 16:42:53 17749 次阅读 9 次推荐 稿源:安卓中国 43 条评论 感谢安卓中国的投递 自古一入电信深似海,从此手机没法买.现在首台全网通小米手机即将诞生.6 月 2 ...
- sublime Text 3 使用插件追踪函数
一.下载工具 https://pan.baidu.com/s/1R0bZMMGQeKTTajIA-9DU3w 或者 https://pan.baidu.com/s/1R0bZMMGQeKTTajIA- ...
- Sping 的 BeanFactory 容器
Sping 的 BeanFactory 容器 这是一个最简单的容器,它主要的功能是为依赖注入 (DI) 提供支持,这个容器接口在 org.springframework.beans.factory.B ...
- Web 层由 Web,Web-MVC,Web-Socket 和 Web-Portlet 组成
Web 层由 Web,Web-MVC,Web-Socket 和 Web-Portlet 组成,它们的细节如下: Web 模块提供面向web的基本功能和面向web的应用上下文,比如多部分(multipa ...
- asp.net 页面延时五秒,跳转到另外的页面
asp.net 页面延时五秒,跳转到另外的页面的实现代码. --前台 <%@ Page Language="C#" AutoEventWireup="true&qu ...
- [Unity3D]Unity3D游戏开发之伤害数值显示
大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.众所周知,在RPG游戏策划中最为重要的一个环节是数值策划.数值策划是一个关于游戏平衡方面的概念 ...
- Jqurey实现相似EasyUI的页面布局
截图例如以下:(可通过移动中间蓝色的条.来改变左右两边div的宽度) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFuZ21pbmd4aW5nOTgw ...
- 【BZOJ2199】[Usaco2011 Jan]奶牛议会 2-SAT
[BZOJ2199][Usaco2011 Jan]奶牛议会 Description 由于对Farmer John的领导感到极其不悦,奶牛们退出了农场,组建了奶牛议会.议会以“每头牛 都可以获得自己想要 ...
- Intellij IDEA工具的常用快捷键
掌握如下常用快捷键可以使自己的开发效率提供十倍. ctrl + B : 转到类或者方法的定义 ctrl + Alt + B:弹出接口/虚类的实现类/子类 ctrl + Alt + 左箭头/右箭头 : ...
- 相似度模型 similarity model
Lucene4.0附加了相似度模型,允许在文档中使用不同的公式.