A-A+
js中模仿php strtotime()与date()函数
在js中没有像php中strtotime()与date()函数,可直接转换时间戳,下面我们来自定一个函数来实现js中具体有时间戳转换的功能,代码如下:
- function datetime_to_unix(datetime){
- var tmp_datetime = datetime.replace(/:/g,'-');
- tmp_datetime = tmp_datetime.replace(/ /g,'-');
- var arr = tmp_datetime.split("-");
- var now = new Date(Date.UTC(arr[0],arr[1]-1,arr[2],arr[3]-8,arr[4],arr[5]));
- return parseInt(now.getTime()/1000);
- }
- function unix_to_datetime(unix) {
- var now = new Date(parseInt(unix) * 1000);
- return now.toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
- }
- var datetime = '2012-11-16 10:36:50';
- var unix = datetime_to_unix(datetime);
- document.write(datetime+' 转换后的时间戳为: '+unix+'
- ');
- var unix = 1353033300;
- var datetime = unix_to_datetime(unix);
- document.write(unix+' 转换后的日期为: '+datetime);
如果想弹出: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>
完整实例,代码如下:
- <script type="text/javascript">
- var day1 = parseInt(new Date().valueOf()/1000);
- var day2 = new Date(day1 * 1000);
- function getLocalTime(nS) {
- return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:d{1,2}$/,' ');
- }
- /* 同上面函数 */
- function getLocalTimes(nS) {
- return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17);
- }
- function getLocalFormatTime(nS) {
- return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
- }
- document.getElementById("btn1").onclick = function(){
- alert(day1);
- }
- document.getElementById("btn2").onclick = function(){
- alert(day2.toLocaleString());
- }
- document.getElementById("btn3").onclick = function(){
- alert( getLocalTime(day1) );
- }
- document.getElementById("btn4").onclick = function(){
- alert( getLocalFormatTime(day1) );
- }
- document.getElementById("btn5").onclick = function(){
- alert(day2.getFullYear()+"-"+(day2.getMonth()+1)+"-"+day2.getDate()+" "+day2.getHours()+":"+day2.getMinutes()+":"+day2.getSeconds());
- }
- </script>