Javascript字符串计算从PHP变量包含数学表达式(但实际上是一个日期)
javascript string evaluation from php variable that contains mathematical expression (but is actually a date)
我有以下javascript函数。该函数实际上填充了一个jquery日期选择器,但对于这个问题,我删除了该代码,因为它不相关。
function PrintDateToConsole() {
var testDate;
<?php
$test_date = date("Y-m-d", time());
printf("testDate=$test_date;'n");
?>
console.log(test_date);
}
当我运行这段代码时,在控制台中打印的结果是1978(今天的日期2014-6-30 = 1978)。
为什么日期字符串被评估为一个数学表达式,我怎么能防止它?
注意:我很确定这是一个javascript问题,而不是一个php问题,因为当我在页面上查看源代码时,我看到:
function PrintDateToConsole() {
var testDate;
testDate=2014-06-30;
console.log(test_date);
}
Replace:
printf("testDate=$test_date;'n");
:
printf("testDate='$test_date';'n");
日期在JavaScript中不是作为字符串传递的。相反,您可以在JS中使用减法运算符放置一些数字。
修改将把它作为一个String传递,正确地:
testDate='2014-06-30';
在JavaScript中,这个是一个计算:
testDate=2014-06-30;
要获取日期,可以使用
printf("testDate=new Date('$test_date');'n");
但是当您从时间戳开始时,没有必要先进行格式化,然后再进行解析。你只需要执行
printf("testDate=new Date(".time().");'n");
这还有一个额外的好处,可以避免由于服务器和用户浏览器之间的时区不同而导致的错误。
相关文章:
- 比较从函数和生成的日期对象
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在JavaScript中延长当前日期
- 两位数的月份日期验证
- 更改angularjs中的日期-时间格式
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- NodeJS日期格式不起作用
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 使用当前日期生成随机id
- primefaces日历可以禁用过去的日期和时间吗
- 提前阅读日期
- 在JavaScript中拆分日期字符串的更好方法是什么
- 查找最短和最长日期
- 将日期和时间转换为UTC格式的日期-Javascript
- 如何使具体化日期选取器(实际上是选取日期)可编辑
- Typescript接口中的日期在检查时实际上是字符串
- Javascript字符串计算从PHP变量包含数学表达式(但实际上是一个日期)