js实现日期显示的一些操作
1、js获取当前日期(yyyy-mm-dd)
以下代码是获取到的当前日期:
var myDate = new Date();
var year = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
var month = myDate.getMonth()+1; //获取当前月份(1-12)
var day = myDate.getDate(); //获取当前日(1-31)
//获取完整年月日
var newDay = year + “-” + month + “-” + day;

2、点击实现日期的天数加减(yyyy-mm-dd)
点击俩个按钮分别可以实现日期的加减,如果本月天数达到最多,那么月份将会自动增加或减少
var n = 0;
dayChange(0)
$("#time-add").click(function(){
n++;
dayChange(n);
})
$("#time-less").click(function(){
n--;
dayChange(n);
})
function dayChange(n){
var now = new Date();//今天
var tomo = new Date((now/1000+86400*n)*1000);//明天
var month = tomo.getMonth() + 1;
var strDate = tomo.getDate();
var seperator1 = "-";
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = tomo.getFullYear() + seperator1 + month + seperator1 + strDate;
$(".center-day").html(currentdate);
}

3、获取当前本周周一和本周周日的时间范围
不管当前是周几,都可以获取到当前所在这一周的起始时间
var now = new Date();//今天
week(now);
function week(now){
var nowTime = now.getTime() ;
var day = now.getDay();
var oneDayLong = 24*60*60*1000 ;
//获取本周所在周一
var MondayTime = nowTime - (day-1)*oneDayLong ;
//获取本周所在周末
var SundayTime = nowTime + (7-day)*oneDayLong ;
//转化日期
var monday = new Date(MondayTime);
var sunday = new Date(SundayTime);
var month = monday.getMonth() + 1;
var strDate = monday.getDate();
var month1 = sunday.getMonth() + 1;
var strDate1 = sunday.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (month1 >= 1 && month1 <= 9) {
month1 = "0" + month1;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (strDate1 >= 0 && strDate1 <= 9) {
strDate1 = "0" + strDate1;
}
currentdate = monday.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + sunday.getFullYear() + seperator1 + month1 + seperator1 + strDate1;
$(".center-day").html(currentdate);
}

4、点击实现每周范围的变化
点击改变的按钮将会改变显示一周范围的改变,如果有的在下一月或者下一年,那么将会自动显示,不会出现错误
var now = new Date();//今天
var n = 0;
week(now);
$("#week-add").click(function(){
n++;
var date = new Date(now.getTime() + n*7*24*3600*1000);
week(date);
})
$("#week-add").click(function(){
n--;
var date = new Date(now.getTime() + n*7*24*3600*1000);
week(date);
})
function week(now){
var nowTime = now.getTime() ;
var day = now.getDay();
var oneDayLong = 24*60*60*1000 ;
//获取本周所在周一
var MondayTime = nowTime - (day-1)*oneDayLong ;
//获取本周所在周末
var SundayTime = nowTime + (7-day)*oneDayLong ;
//转化日期
var monday = new Date(MondayTime);
var sunday = new Date(SundayTime);
var month = monday.getMonth() + 1;
var strDate = monday.getDate();
var month1 = sunday.getMonth() + 1;
var strDate1 = sunday.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (month1 >= 1 && month1 <= 9) {
month1 = "0" + month1;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (strDate1 >= 0 && strDate1 <= 9) {
strDate1 = "0" + strDate1;
}
currentdate = monday.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + sunday.getFullYear() + seperator1 + month1 + seperator1 + strDate1;
$(".center-day").html(currentdate);
}

5、获取当前月份的第一天和最后一天
能够获取到当前所在月份的第一天和最后一天,最后一天的日期是不固定的,能够获取到应有的日期
monthfen(0)
function monthfen(n){
var now = new Date();//今天
var firstDate = new Date((now/1000+86400*n*now.getDate())*1000);//明天
//本月第一天
firstDate.setDate(1); //第一天
var date = new Date(firstDate);
8 var month = date.getMonth() + 1;
var strDate = "0" + date.getDate();
//本月最后一天
11 var endDate = new Date(firstDate);
12 endDate.setMonth(firstDate.getMonth()+1);
13 endDate.setDate(0);
var date1 = new Date(endDate);
15 var month1 = date1.getMonth() + 1;
var strDate1 = date1.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (month1 >= 1 && month1 <= 9) {
month1 = "0" + month1;
}
currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + date1.getFullYear() + seperator1 + month1 + seperator1 + strDate1;
$(".center-day").html(currentdate);
}

6、点击实现当前月份的改变
点击按钮会实现当前月份的改变,那么最后一天的日期也会自动改变,
monthfen(0)
var n = 0;
$("#month-add").click(function(){
n++;
monthfen(n);
})
$("#month-less").click(function(){
n--;
monthfen(n);
})
function monthfen(n){
var now = new Date();//今天
var firstDate = new Date((now/1000+86400*n*now.getDate())*1000);//明天
//本月第一天
firstDate.setDate(1); //第一天
var date = new Date(firstDate);
17 var month = date.getMonth() + 1;
18 var strDate = "0" + date.getDate();
//本月最后一天
var endDate = new Date(firstDate);
endDate.setMonth(firstDate.getMonth()+1);
endDate.setDate(0);
var date1 = new Date(endDate);
var month1 = date1.getMonth() + 1;
var strDate1 = date1.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (month1 >= 1 && month1 <= 9) {
month1 = "0" + month1;
}
currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + date1.getFullYear() + seperator1 + month1 + seperator1 + strDate1;
$(".center-day").html(currentdate);
}
当然还有很多关于日期格式的改变和算法,如果有什么不理解的可以留下评论,大家一起探讨。
js实现日期显示的一些操作的更多相关文章
- Js获取日期时间及其它操作
var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1 ...
- JS对日期时间的操作
代码: //判断是否超期(有效期开始超过一年后算已超期) function IsEffect(effectDate) { var val = ""; var currentDate ...
- 【转】Js获取当前日期时间及其它操作
Js获取当前日期时间及其它操作 原文地址:http://www.cnblogs.com/carekee/articles/1678041.html var myDate = new Date();my ...
- [转]Js获取当前日期时间及其它操作
转载自:http://www.cnblogs.com/carekee/articles/1678041.html Js获取当前日期时间及其它操作 var myDate = new Date();myD ...
- Js 获取当前日期时间及其它操作(转)
Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); ...
- Js获取当前日期时间及其它操作
Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...
- iOS不得姐项目--精华模块上拉下拉的注意事项,日期显示,重构子控制器,计算cell的高度(只计算一次),图片帖子的显示
一.上拉下拉注意事项 使用MJRefresh中的上拉控件自动设置透明 当请求下页数据通过page的时候,注意的是上拉加载更多数据失败的问题,下拉加载数据失败了,页数应该还原.或者是请求成功的时候再将页 ...
- JS对select动态添加option操作 (三级联动) (搜索拼接)
以下纯属自我理解之下再东搜西查的内容~ JS对select动态添加option操作有个高大上的艺名叫多级联动:第一级改变时,第二级跟着变,第二级改变时,第三级跟着变... 本菜鸟是在工作中遇到做收货地 ...
- ios日期显示NaN
ios中js通过getMonth()获取到的日期显示NaN,而在其他地方如pc.安卓都是ok的,这是为什么呢,原来这里有个ios的兼容问题,需要将日期中的“-”替换为“/” var time = ne ...
随机推荐
- 移动端设置fixed布局的问题解决
最近写移动端,遇到一个问题就是用fixed属性布局的时候由于手机的原因会出现很多问题,比如说手机端底部固定一块,然后里面有输入框,(类似于手机QQ或者微信底部的输入框一样的布局)这个时候在调用软键盘的 ...
- C语言和go语言之间的交互
一.go代码中使用C代码 go代码中使用C代码,在go语言的函数块中,以注释的方式写入C代码,然后紧跟import "C" 即可在go代码中使用C函数 代码示例: go代码:tes ...
- Asp.Net生命周期的详解
一.Asp.Net页面生命周期的概念 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端IIS)发送一个request请求,服务器就会判断发送过来的请求页面,当完全识别 TTP页面处理程 ...
- TestNG+ExtentReports生成超漂亮的测试报告
一个优雅.漂亮的测试报告,能够给我们的测试工作带来不少的加分,而报告的模版实在是让我们这些技术人员头疼的问题,设计的实在是没有什么美感. 那么今天就给大家分享一个自动化测试中,一个超漂亮的测试报告模版 ...
- Linux 程序,进程和线程
进程如何使用内存. 当程序文件运行为进程时, 进程在内存中获得空间. 1) Text : 固定大小 存储指令(instruction), 说明每一步的操作. 2) Global Data : 固定大小 ...
- c/c++面试准备笔记1
在c++程序中调用被C编译器编译后的函数,为什么要加extern "C"? C++语言支持函数重载,C语言不支持函数重载.函数被C++编译后在库中的名字与C语言的不同.C++提供 ...
- $.Deferred 延迟对象
一.什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作.其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们 ...
- Java学习笔记--脚本语言支持API
Java语言的动态性之脚本语言支持API 随着Java平台的流行,很多的脚本语言(scripting language)都可以运行在Java虚拟机啊上,其中比较流行的有JavaScript.JRuby ...
- oracle数据库的编码
--oracle数据库的编码select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';--oracle客户端编 ...
- 持续集成篇-- SonarQube代码质量管理平台的安装
视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221 环境:CentOS 6 ...
