有时候做项目会用到js的date日期格式,因为Date()返回的格式不是我们需要的,
Date()返回格式:
Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间)
而我们则需要这样的格式:
2015-3-19 12:00:00
除非是在后台处理好时间格式,然后在页面直接显示。
那如何用js格式化date日期值呢?
1.日期格式转为日期标准字符串:2015-03-19
调用:formatDate(Date()) formatDate(Date())
3.时间戳转为日期格式
使用:
4.时间格式字符串转为时间戳(毫秒)
如何将2015-03-12 12:00 转换成标准时间()?
Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间)
js方法返回值:Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间)
调用:parserDate("2015-03-19 12::00:00")
5.判断时间间隔不超过24个小时
JS中字符转日期
var remindTime = "2008-04-02 10:08:44";
直接new Date(remindTime ) 即可。
var date2=new Date("2004/09/17 20:08:00");
var date3=(date2.getTime()-date1.getTime())/1000; //相差秒数
js时间戳怎么转成日期格式
这个在主群里有朋友§☆釺哖蟲...o问js时间戳怎么转成日期格式 ,他的问题是这样的
/Date(1354116249000)/ 这样的格式怎么转成时间格式
这是从C#的Datatime格式通过Json传到Js里面的,
下面是我们的提供的方法
js需要把时间戳转为为普通格式,一般的情况下可能用不到的,
下面先来看第一种吧
<script> function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' '); } alert(getLocalTime(1293072805)); </script>
结果是
2010年12月23日 10:53
第二种
<script> function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17)} alert(getLocalTime(1293072805)); </script>
如果你想得到这样格式的怎么办呢?
2010-10-20 10:00:00
看下面代码吧
<script> function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); } alert(getLocalTime(1177824835)); </script>
也可以这样写的
function formatDate(now) { var year=now.getYear(); var month=now.getMonth()+1; var date=now.getDate(); var hour=now.getHours(); var minute=now.getMinutes(); var second=now.getSeconds(); return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second; } var d=new Date(1230999938); alert(formatDate(d));
好了问题解决
需要注意的是
不要把字符串中的Date(这样的字符也传进去,要先处理一下,这样很方便 就能处理的
可以使用replace方法
如下:
replace("/Date(","").replace(")/","");
js时间戳怎么转成日期格式
这个在主群里有朋友§☆釺哖蟲...o问js时间戳怎么转成日期格式 ,他的问题是这样的
/Date(1354116249000)/ 这样的格式怎么转成时间格式
这是从C#的Datatime格式通过Json传到Js里面的,
下面是我们的提供的方法
js需要把时间戳转为为普通格式,一般的情况下可能用不到的,
下面先来看第一种吧
<script> function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' '); } alert(getLocalTime(1293072805)); </script>
结果是
2010年12月23日 10:53
第二种
<script> function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17)} alert(getLocalTime(1293072805)); </script>
如果你想得到这样格式的怎么办呢?
2010-10-20 10:00:00
看下面代码吧
<script> function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); } alert(getLocalTime(1177824835)); </script>
也可以这样写的
function formatDate(now) { var year=now.getYear(); var month=now.getMonth()+1; var date=now.getDate(); var hour=now.getHours(); var minute=now.getMinutes(); var second=now.getSeconds(); return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second; } var d=new Date(1230999938); alert(formatDate(d));
好了问题解决
需要注意的是
不要把字符串中的Date(这样的字符也传进去,要先处理一下,这样很方便 就能处理的
可以使用replace方法
如下:
replace("/Date(","").replace(")/","");
数据库查出来的明明是时间返回却变成一串无规律的数字。解决方法
/**
* 时间戳转时间格式
* @param jsondate 得到的number 型时间数
*/
function getLocalTime(jsondate) {
jsondate=""+jsondate+"";//因为jsonDate是number型的indexOf会报错
if (jsondate.indexOf("+") > 0) {
jsondate = jsondate.substring(0, jsondate.indexOf("+"));
}
else if (jsondate.indexOf("-") > 0) {
jsondate = jsondate.substring(0, jsondate.indexOf("-"));
}
var date = new Date(parseInt(jsondate, 10));
var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
return date.getFullYear() + "-" + month + "-" + currentDate + " " + hours + ":" + minutes + ":" + seconds;
}
问题解决(ps:有一点要注意的是得到的可能是number型的,在js中不能使用indexOf方法,需要加引号转为字符创格式)