一个php+js实时显示时间问题


Posted in Javascript onOctober 12, 2015

我们先来看下这段代码

$(function(){

setInterval(function(){
var timer = '<?php echo date("Y-m-d H:i:s",time()) ?>';
$("#test").append(timer);
},500);
});

这段代码哪里有问题,为啥网页加载后网页一直是那个时间不会变呢?php和js的加载机制有啥不同?

这样是不对的,php代码在输出前被解释,浏览器收到的代码应该是这个样子的

$(function(){
 
setInterval(function(){
var timer = '2015-01-02 12:02:02';
$("#test").append(timer);
},500);
});

这样,当你定时更新的都是一个定值
修改如下

// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
// 例子: 
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
// (new Date()).Format("yyyy-M-d h:m:s.S")   ==> 2006-7-2 8:9:4.18 
Date.prototype.Format = function (fmt) { //author: meizz 
  var o = {
    "M+": this.getMonth() + 1, //月份 
    "d+": this.getDate(), //日 
    "h+": this.getHours(), //小时 
    "m+": this.getMinutes(), //分 
    "s+": this.getSeconds(), //秒 
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
    "S": this.getMilliseconds() //毫秒 
  };
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  for (var k in o)
  if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  return fmt;
}
 
$(function(){
 
setInterval(function(){
var timer = new Date().Format("yyyy-MM-dd HH:mm:ss");
$("#test").append(timer);
},500);
});
Javascript 相关文章推荐
javascript 获取网页参数系统
Jul 19 Javascript
jquery.validate使用攻略 第三部
Jul 01 Javascript
JQuery拖拽元素改变大小尺寸实现代码
Dec 10 Javascript
js动态添加onclick事件可传参数与不传参数
Jul 29 Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 Javascript
js实现可输入可选择的select下拉框
Dec 21 Javascript
Vue声明式渲染详解
May 17 Javascript
switchery按钮的使用方法
Dec 18 Javascript
小程序实现多列选择器
Feb 15 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
Aug 04 Javascript
如何实现小程序与小程序之间的跳转
Nov 04 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
Oct 12 #Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
Oct 12 #Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
Oct 12 #Javascript
jquery实现可自动判断位置的弹出层效果代码
Oct 12 #Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
Oct 12 #Javascript
JavaScript实现上下浮动的窗口效果代码
Oct 12 #Javascript
javascript函数式编程程序员的工具集
Oct 11 #Javascript
You might like
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
使用JavaScript switch case 另类写法
2010/03/14 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
Python操作MySQL简单实现方法
2015/01/26 Python
基于Python List的赋值方法
2018/06/23 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
施工安全协议书
2013/12/11 职场文书
骨干教师培训感言
2014/01/16 职场文书
教学实习自我评价
2014/01/28 职场文书
护士个人自我鉴定
2014/03/24 职场文书
社区义诊活动总结
2014/04/30 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
二年级作文之动物作文
2019/11/13 职场文书
Python进行区间取值案例讲解
2021/08/02 Python
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS
配置Kubernetes外网访问集群
2022/03/31 Servers