js日期转换综合
2016-03-11 10:33
615 查看
前面有2篇已经介绍过js比较日期字符串和js从当前日期推算开始日期
链接:js比较日期字符串
链接:js从当前日期推算开始日期
本篇介绍js日期转换综合问题(如图)
根据比价期数(格式为YYYYmmdd)切换近期日期和远期日期
期数下拉框html
<select id="comparePeriod" class="easyui-combobox" style="width:173px;" name="comparePeriod">
#foreach($item in ${periods})
<option value="${item.comparePeriod}" #if(1 == ${item.isCurr}) selected #end>${item.comparePeriod}</option>
#end
</select>
近远期日期html
<label style="font-size:13px;">近期日期:</label>
<label style="font-size:13px;" id="beginNearDate">${period.beginNearDate}</label>
<label style="font-size:13px;">至</label>
<label style="font-size:13px;" id="endDate1">${period.endDate}</label>
<label style="font-size:13px;">远期日期:</label>
<label style="font-size:13px;" id="beginDate">${period.beginDate}</label>
<label style="font-size:13px;">至</label>
<label style="font-size:13px;" id="endDate2">${period.endDate}</label>
之前一篇已经介绍过如何加ajax监听事件,本章不再赘述可查看链接:jquery ajax监听事件
js代码如下
// 监听器
function ajaxListener(){
newComparePeriod = $('#comparePeriod').combobox('getValue');
if(newComparePeriod == oldComparePeriod)
return ;
oldComparePeriod = newComparePeriod;
//将字符串转为日期格式
var endDate = changeDate(oldComparePeriod);
//近期日期,远期日期,结束日期
var beginNearDateString = getDate(endDate,20);
var beginDateString = getDate(endDate,180);
var endDateString = getDate(endDate,0);
//放值
document.getElementById('beginNearDate').innerText=beginNearDateString;
document.getElementById('beginDate').innerText=beginDateString;
document.getElementById('endDate1').innerText=endDateString;
document.getElementById('endDate2').innerText=endDateString;
/*
$('#beginNearDate').textbox('setValue',beginNearDateString);
$('#beginDate').textbox('setValue',beginDateString);
$('#endDate1').textbox('setValue',endDateString);
$('#endDate2').textbox('setValue',endDateString);
*/
}
function changeDate(comparePeriod){
//YYYYddmm格式转为YYYY/mm/dd
comparePeriod = changeFormate(comparePeriod);
//将转换后的字符串转为Date类型
var date=Date.parse(comparePeriod);
return date;
}
//格式转换
function changeFormate(value){
value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6, 8);
var regEx = new RegExp("\\-","gi");
value = value.replace(regEx,"/");
return value;
}
// 获取近远期日期,date为毫秒
function getDate(date,value){
var myDate = new Date(date);
var year =myDate.getFullYear(); //获取当前年
var month = myDate.getMonth()+1; //获取当前月
var day = myDate.getDate(); //获取当前日
var timeMin= new Date(myDate-(1000*3600*24*value));//取需要提前到某天的时间戳
var timeMinY=timeMin.getFullYear();
var timeMinM=timeMin.getMonth()+1;
var timeMinD=timeMin.getDate();
var dateString = timeMinY+"-"+num0(timeMinM)+"-"+ num0(timeMinD);
return dateString;
}
// 时间补0
function num0(num){
if(num-10 < 0){
num = "0" + num;
}
return num;
}
链接:js比较日期字符串
链接:js从当前日期推算开始日期
本篇介绍js日期转换综合问题(如图)
根据比价期数(格式为YYYYmmdd)切换近期日期和远期日期
期数下拉框html
<select id="comparePeriod" class="easyui-combobox" style="width:173px;" name="comparePeriod">
#foreach($item in ${periods})
<option value="${item.comparePeriod}" #if(1 == ${item.isCurr}) selected #end>${item.comparePeriod}</option>
#end
</select>
近远期日期html
<label style="font-size:13px;">近期日期:</label>
<label style="font-size:13px;" id="beginNearDate">${period.beginNearDate}</label>
<label style="font-size:13px;">至</label>
<label style="font-size:13px;" id="endDate1">${period.endDate}</label>
<label style="font-size:13px;">远期日期:</label>
<label style="font-size:13px;" id="beginDate">${period.beginDate}</label>
<label style="font-size:13px;">至</label>
<label style="font-size:13px;" id="endDate2">${period.endDate}</label>
之前一篇已经介绍过如何加ajax监听事件,本章不再赘述可查看链接:jquery ajax监听事件
js代码如下
// 监听器
function ajaxListener(){
newComparePeriod = $('#comparePeriod').combobox('getValue');
if(newComparePeriod == oldComparePeriod)
return ;
oldComparePeriod = newComparePeriod;
//将字符串转为日期格式
var endDate = changeDate(oldComparePeriod);
//近期日期,远期日期,结束日期
var beginNearDateString = getDate(endDate,20);
var beginDateString = getDate(endDate,180);
var endDateString = getDate(endDate,0);
//放值
document.getElementById('beginNearDate').innerText=beginNearDateString;
document.getElementById('beginDate').innerText=beginDateString;
document.getElementById('endDate1').innerText=endDateString;
document.getElementById('endDate2').innerText=endDateString;
/*
$('#beginNearDate').textbox('setValue',beginNearDateString);
$('#beginDate').textbox('setValue',beginDateString);
$('#endDate1').textbox('setValue',endDateString);
$('#endDate2').textbox('setValue',endDateString);
*/
}
function changeDate(comparePeriod){
//YYYYddmm格式转为YYYY/mm/dd
comparePeriod = changeFormate(comparePeriod);
//将转换后的字符串转为Date类型
var date=Date.parse(comparePeriod);
return date;
}
//格式转换
function changeFormate(value){
value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6, 8);
var regEx = new RegExp("\\-","gi");
value = value.replace(regEx,"/");
return value;
}
// 获取近远期日期,date为毫秒
function getDate(date,value){
var myDate = new Date(date);
var year =myDate.getFullYear(); //获取当前年
var month = myDate.getMonth()+1; //获取当前月
var day = myDate.getDate(); //获取当前日
var timeMin= new Date(myDate-(1000*3600*24*value));//取需要提前到某天的时间戳
var timeMinY=timeMin.getFullYear();
var timeMinM=timeMin.getMonth()+1;
var timeMinD=timeMin.getDate();
var dateString = timeMinY+"-"+num0(timeMinM)+"-"+ num0(timeMinD);
return dateString;
}
// 时间补0
function num0(num){
if(num-10 < 0){
num = "0" + num;
}
return num;
}
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- 爆炸式的JS圆形浮动菜单特效代码
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值
- PHP VBS JS 函数 对照表
- node.js抓取并分析网页内容有无特殊内容的js文件
- PHP+JS实现大规模数据提交的方法
- 仿51JOB的地区选择效果(可选择多个地区)
- js身份证验证超强脚本