代码之家  ›  专栏  ›  技术社区  ›  Anirudh Goel

在javascript中使用php日期字符串

  •  0
  • Anirudh Goel  · 技术社区  · 15 年前

    我在MySQL数据库中有一个年-月-日格式的日期条目。使用php我可以得到日期值

    $row = $myresult['date'];
    

    现在我想用javascript警告这个值

    所以我尝试

    var temp_date = <?php echo($row)?>;
    alert (temp_date);
    

    但那对我不起作用。我觉得我面临的问题是维护datestring的字符串格式,当在javascript中使用时,它似乎会丢失。 有什么帮助吗?

    6 回复  |  直到 12 年前
        1
  •  4
  •   Luca Matteis    15 年前

    在javascript中,字符串文本由双引号或单引号进行四舍五入:

    var temp_date = "<?php echo($row)?>";
    alert (temp_date);
    
        2
  •  1
  •   Boldewyn    15 年前

    这个答案最初是其他四个答案的准精确副本。

    如果你需要 日期信息 因此,您可以使用Unix时间戳:

    SELECT UNIX_TIMESTAMP(timefield) AS timestamp WHERE id = 1;
    

    然后用php将其回送到这个js片段中:

    var mydate = new Date(<?php echo $row['timestamp']*1000; ?>);
    

    这里不需要引号,因为您要回显一个数字。这允许,例如,

    alert (mydate.getDate());
    

    诸如此类。

    干杯,

        3
  •  1
  •   Tom Haigh    15 年前

    使用 json_encode() . 这将把PHP变量转换为有效的JavaScript,因此您不必担心引用/转义等问题。

    var temp_date = <?php echo json_encode($row); ?>;
    alert (temp_date);
    
        4
  •  0
  •   Christian C. Salvadó    15 年前

    您必须在javascript变量分配中添加引号:

    var temp_date = '<?php echo($row)?>';
    alert (temp_date);
    
        5
  •  0
  •   Tyler Carter    15 年前
    var temp_date = '<?php echo($row)?>';
    alert (temp_date);
    

    添加引号。否则它将出错,因为没有引号的字符串很麻烦。

        6
  •  -1
  •   Taryn    12 年前

    php

    $smarty->assign("profile_date",date("Y/m/d"));
    

    第三方物流

    var NowDate=new Date("{/literal}{$profile_date}{literal}");