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 (中国标准时间) 紧接着,我们来获取相关参数 ...
随机推荐
- linux IP动态变动之后 , 需要做的杂项操作
linux的动态ip经常变来变去,目前还没找到固定它不变化的方法.所以每次变动之后都需要做以下的操作,极其麻烦.(必须找到让linux IP 固定的方法) 1.先找到变化之后的动态ip地址 ifcon ...
- datagrid返回记录为0时显示“没有记录”
datagrid返回记录为0时显示“没有记录”,此问题的 <script>var myview = $.extend({},$.fn.datagrid.defaults.view,{ on ...
- Xcode调试项目时取消弹出框提示授权
问题2: instruments wants permission to analyze other processes.'DTServiceHub'需要控制另外一个进程,以便继续调试,键入密码以允许 ...
- Shell脚本之监视指定进程的执行状态
在之前的博客中,以前写了自己主动化測试程序的实现方法,如今开发人员须要知道被測试的进程(在此指执行在LINUX上的主进程的)在异常退出之前的进程的执行状态,比如内存的使用率.CPU的使用率等. 现用s ...
- 修改hadoop配饰文件文件后导致hive无法找到原有的dfs文件
修改了hadoop/etc/hadoop/core-site.xml文件中的 <property> <name>fs.defaultFS</name> <va ...
- WPF 中双向绑定通知机制之ObservableCollection使用
msdn中 ObservableCollection<T> 类 表示一个动态数据集合,在添加项.移除项或刷新整个列表时,此集合将提供通知. 在许多情况下,所使用的数据是对象的集合 ...
- NGINX快速部署
NGINX快速部署 #!/bin/bash ############################################################################## ...
- 庖丁解牛:USB 驱动开发技术彻底解密
我们知道如果开发工程师不懂RS232 肯定会让人笑话可以想象面向未来USB 接口无处不在因此掌握USB 的原理固件编程及其驱动开发技术势必成为当务之急USB 即插即用的优点和灵活性运用于各种电子产品现 ...
- TLE之前,没有一个节点叫失败!!!
我想我十八年来记忆最深刻的夜晚,大概便是在吉林大学燥热的宿舍里,穿着橘黄色的短袖,努力咽下大口大口的雪碧.那天晚上我仰躺在吉大热得几乎不能入眠的床板上,一动不动,看夏夜里打不尽的蚊子在惨白的天花板下飞 ...
- JAVA的Hashtable在遍历时的迭代器线程问题
这篇博客主要讲什么 Hashtable及其内部类的部分源码分析 Hashtable在遍历时的java.util.ConcurrentModificationException异常的来由和解决 单机在内 ...