首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js高人快来,如何将带年月日的时间字符串转换成时间格式,并计算时间差

2012-04-28 
js高人快来救命啊,怎么将带年月日的时间字符串转换成时间格式,并计算时间差例如:我想把“2011年5月25日 17:

js高人快来救命啊,怎么将带年月日的时间字符串转换成时间格式,并计算时间差
例如:我想把“2011年5月25日 17:13”这样的字符串转换成时间格式,因为我要计算两个时间差,而这两个时间都必须要从字符串转换才能得到,麻烦神仙大侠们赐教,小弟愿虚心学习,在此先谢过了!

[解决办法]

JScript code
                function getDateFromString(str)                {                        var reg = /^(\d+)年(\d+)月(\d+)日 (\d+):(\d+)/;                        var s  = str.match(reg);                        var result="";                        if(s)                        {                              result = new Date(s[1],s[2],s[3],s[4],s[5]);                                                      }                        return result ;                }                                var result = getDateFromString("2011年5月25日 17:13");                alert(result);
[解决办法]
sorry
月份忘记减一了。(日期的有效性没有考虑,如果需要自己加验证。)
result = new Date(s[1],parseInt(s[2])-1,s[3],s[4],s[5]);
[解决办法]
JScript code
var s1 = "2011年5月25日 17:13";var s2 = "2011年5月25日 1:12";var d1 = convertToDate(s1);var d2 = convertToDate(s2);var secs = dateDiff(d1,d2);alert(secs);//返回相差多少秒function dateDiff(d1,d2){    var sp = d1 - d2;  return (sp/1000);}function convertToDate(s){  var arr =  s.split(/年|月|日\s|:/);  var date = new Date(arr[0],arr[1],arr[2],arr[3],arr[4]);   return date;}
[解决办法]
借1楼代码用下
计算时间差转换成天的
JScript code
function getDateFromString(str){        var reg = /^(\d+)年(\d+)月(\d+)日 (\d+):(\d+)/;        var s  = str.match(reg);        var result="";        if(s)        {              result = new Date(s[1],s[2] - 1,s[3],s[4],s[5]);                                      }        return result ;    }                    var result1 = getDateFromString("2011年5月25日 17:13");    var result2 = getDateFromString("2010年12月12日 8:00");    var result = (result1 - result2) / (1000 * 60 * 60 * 24);    //计算天    alert(result);
[解决办法]
两个日期可以比较一下谁比较大
用大的减去小的
计算结果带小数的话转换一下就OK

热点排行