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 (中国标准时间) 紧接着,我们来获取相关参数 ...
随机推荐
- Hibernate体系结构
Hibernate架构包括许多对象持久对象,会话工厂,事务工厂,连接工厂,会话,事务等. hibernate架构中有4层Java应用层,hibernate框架层,反手api层和数据库层.请参见hibe ...
- Spring MVC文本域
以下示例显示如何在使用Spring Web MVC框架的表单中使用文本域(TextArea).首先使用Eclipse IDE来创建一个WEB工程,并按照以下步骤使用Spring Web Framewo ...
- [AC自己主动机+状压dp] hdu 2825 Wireless Password
题意: 给n.m,k ,再给出m个单词 问长度为n的字符串.至少在m个单词中含有k个的组成方案有多少种. 思路: 因为m最大是10,所以能够採取状压的思想 首先建立trie图,在每一个单词的结束节点标 ...
- 《深入浅出WPF》笔记——事件篇
如果对事件一点都不了解或者是模棱两可的话,建议先去看张子阳的委托与事件的文章(比较长,或许看完了,也忘记看这一篇了,没事,我会原谅你的)http://www.cnblogs.com/JimmyZhan ...
- Zookeeper权限管理与Quota管理
Zookeeper的ACL机制和Quota机制网上资料较少,这里做一个总结,以供大家参考. 1 Zookeeper ACL ZooKeeper的权限管理亦即ACL控制功能通过Server.Client ...
- 枚举callback还是返回列表 ?
一般都会碰到这样的一个问题,A模块需要返回一系列的object或者message,这样一般有两种处理方式: 1,枚举callback typedef (*callback_type)(obj_type ...
- day23面向对象第一篇
python之路——初识面向对象 阅读目录 楔子 面向过程vs面向对象 初识面向对象 类的相关知识 对象的相关知识 对象之间的交互 类命名空间与对象.实例的命名空间 类的组合用法 初识面向对象 ...
- 深入理解line
什么是行间距? 古时候我们使用印刷机来出来文字.印刷出来的每个字,都位于独立的一个块中. 行间距,即传说中控制两行文字垂直距离的东东.在CSS中,line-height被用来控制行与行之间垂直距离. ...
- 关于mysql联合索引
1 2 3 4 5 6 7 CREATE TABLE `uniontest` ( `id` int(11) NOT NULL AUTO_INCREMENT, `menuname` varcha ...
- 关于自我总结的html5新特性
最近本包子制订了一个学校计划,第一步就是了解并总结一下html5现在所含有的新特性,好吧,这只是一个了解,- -! 自己总结了一个word文档,里面很多东西自己都还没实际用过,下一步,本包子要写pc端 ...