js中使用eval()方法将字符串转换成日期格式、并获取指定时间的日期
2014-06-11 16:03
1411 查看
1、在js中eval()方法将字符串格式数据转换成日期格式
function getDate(strDate) {
//strDate为需要转换成日期格式的字符串
var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/,
function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');
return date;
}
2、获取当前日期的前一天日期
function getYestoday(date){
var yesterday_milliseconds=date.getTime()-1000*60*60*24;
var yesterday = new Date();
yesterday.setTime(yesterday_milliseconds);
var strYear = yesterday.getFullYear();
var strDay = yesterday.getDate();
var strMonth = yesterday.getMonth()+1;
if(strMonth<10)
{
strMonth="0"+strMonth;
}
datastr = strYear+"-"+strMonth+"-"+strDay;
return datastr;
}
3、获得上个月在昨天这一天的日期
function getLastMonthYestday(date){
var daysInMonth = new Array([0],[31],[28],[31],[30],[31],[30],[31],[31],[30],[31],[30],[31]);
var strYear = date.getFullYear();
var strDay = date.getDate();
var strMonth = date.getMonth()+1;
if(strYear%4 == 0 && strYear%100 != 0){
daysInMonth[2] = 29;
}
if(strMonth - 1 == 0)
{
strYear -= 1;
strMonth = 12;
}
else
{
strMonth -= 1;
}
strDay = daysInMonth[strMonth] >= strDay ? strDay : daysInMonth[strMonth];
if(strMonth<10)
{
strMonth="0"+strMonth;
}
if(strDay<10)
{
strDay="0"+strDay;
}
datastr = strYear+"-"+strMonth+"-"+strDay;
return datastr;
}
4、获得上一年在昨天这一天的日期
5、获得下个月在昨天这一天的日期
function getLastMonthYestdy2(date){
var daysInMonth = new Array([0],[31],[28],[31],[30],[31],[30],[31],[31],[30],[31],[30],[31]);
var strYear = date.getFullYear();
var strDay = date.getDate();
var strMonth = date.getMonth()+1;
if(strYear%4 == 0 && strYear%100 != 0){
daysInMonth[2] = 29;
}
if(strMonth + 1 == 13)
{
strYear += 1;
strMonth = 1;
}
else
{
strMonth += 1;
}
strDay = daysInMonth[strMonth] >= strDay ? strDay : daysInMonth[strMonth];
if(strMonth<10)
{
strMonth="0"+strMonth;
}
if(strDay<10)
{
strDay="0"+strDay;
}
datastr = strYear+"-"+strMonth+"-"+strDay;
return datastr;
}
6、测试
$(function() {
var strDate = '2014-06-11';
$("#test").html("用eval()方法将字符串转换为时间格式:" + getDate(strDate) + "<br/>" +
"获取当前日期的前一天日期:" + getYestoday(getDate(strDate)) + "<br/>" +
"获得上个月在昨天这一天的日期:" + getLastMonthYestday(getDate(strDate)) + "<br/>" +
"获得上一年在昨天这一天的日期:" + getLastYearYestdy(getDate(strDate)) + "<br/>" +
"获得下个月在昨天这一天的日期:" + getLastMonthYestdy2(getDate(strDate)) + "<br/>");
})
7、测试结果
function getDate(strDate) {
//strDate为需要转换成日期格式的字符串
var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/,
function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');
return date;
}
2、获取当前日期的前一天日期
function getYestoday(date){
var yesterday_milliseconds=date.getTime()-1000*60*60*24;
var yesterday = new Date();
yesterday.setTime(yesterday_milliseconds);
var strYear = yesterday.getFullYear();
var strDay = yesterday.getDate();
var strMonth = yesterday.getMonth()+1;
if(strMonth<10)
{
strMonth="0"+strMonth;
}
datastr = strYear+"-"+strMonth+"-"+strDay;
return datastr;
}
3、获得上个月在昨天这一天的日期
function getLastMonthYestday(date){
var daysInMonth = new Array([0],[31],[28],[31],[30],[31],[30],[31],[31],[30],[31],[30],[31]);
var strYear = date.getFullYear();
var strDay = date.getDate();
var strMonth = date.getMonth()+1;
if(strYear%4 == 0 && strYear%100 != 0){
daysInMonth[2] = 29;
}
if(strMonth - 1 == 0)
{
strYear -= 1;
strMonth = 12;
}
else
{
strMonth -= 1;
}
strDay = daysInMonth[strMonth] >= strDay ? strDay : daysInMonth[strMonth];
if(strMonth<10)
{
strMonth="0"+strMonth;
}
if(strDay<10)
{
strDay="0"+strDay;
}
datastr = strYear+"-"+strMonth+"-"+strDay;
return datastr;
}
4、获得上一年在昨天这一天的日期
function getLastYearYestdy(date){ var strYear = date.getFullYear() - 1; var strDay = date.getDate(); var strMonth = date.getMonth()+1; if(strMonth<10) { strMonth="0"+strMonth; } if(strDay<10) { strDay="0"+strDay; } datastr = strYear+"-"+strMonth+"-"+strDay; return datastr; }
5、获得下个月在昨天这一天的日期
function getLastMonthYestdy2(date){
var daysInMonth = new Array([0],[31],[28],[31],[30],[31],[30],[31],[31],[30],[31],[30],[31]);
var strYear = date.getFullYear();
var strDay = date.getDate();
var strMonth = date.getMonth()+1;
if(strYear%4 == 0 && strYear%100 != 0){
daysInMonth[2] = 29;
}
if(strMonth + 1 == 13)
{
strYear += 1;
strMonth = 1;
}
else
{
strMonth += 1;
}
strDay = daysInMonth[strMonth] >= strDay ? strDay : daysInMonth[strMonth];
if(strMonth<10)
{
strMonth="0"+strMonth;
}
if(strDay<10)
{
strDay="0"+strDay;
}
datastr = strYear+"-"+strMonth+"-"+strDay;
return datastr;
}
6、测试
$(function() {
var strDate = '2014-06-11';
$("#test").html("用eval()方法将字符串转换为时间格式:" + getDate(strDate) + "<br/>" +
"获取当前日期的前一天日期:" + getYestoday(getDate(strDate)) + "<br/>" +
"获得上个月在昨天这一天的日期:" + getLastMonthYestday(getDate(strDate)) + "<br/>" +
"获得上一年在昨天这一天的日期:" + getLastYearYestdy(getDate(strDate)) + "<br/>" +
"获得下个月在昨天这一天的日期:" + getLastMonthYestdy2(getDate(strDate)) + "<br/>");
})
7、测试结果
相关文章推荐
- js获取时间戳 及 将其转换成正常日期的方法
- js 时间戳日期转换为指定格式
- Java将Unix时间戳转换成指定格式日期字符串工具类
- js获取当前时间,并将标准日期格式转换成Long型
- Java 以指定日期时间格式获取当前时间、以及每隔一秒刷新一次的方法------附带实例
- Android 字符串转指定格式时间 日期处理 去掉月份或天多余的0 获取今天 昨天 明天等的日期和星期
- js将毫秒转换成指定格式的日期时间
- 前台js获取到后台json数据,eval解析json后,日期(object)对象转换为date日期格式显示
- js时间戳对象和标准格式字符串之间的转换方法
- JS日期格式字符串转换为日期毫秒数和时间毫秒数转换为日期
- j2me中如何使用Calendar获取系统时间并转换成字符串格式
- 以HttpGet方法获取URL数据并转换成指定编码格式的字符串
- 美国的时间格式 -- 复杂格式的日期转换 使用Date.parse(“复杂的格式”)方法。
- js获取一天的开始时间和结束时间和日期与字符串、数值之间的转换
- 使用DateAdd方法向指定日期添加一段时间间隔,使用TimeSpan对象获取时间间隔
- 以HttpGet方法获取URL数据并转换成指定编码格式的字符串
- 将字符串或日期转换成年月日的格式,js方法
- js获取时间和日期,字符串和时间戳之间的转换
- JS中字符串转换为日期对象的方法JS中如何计算时间,如何比较时间
- js 字符串与数值相互转换,以及时间戳转换成日期形式字符串方法