如何在点击按钮时获得准确的时间?

时间:2014-08-19 01:45:55

标签: php timestamp

按钮点击后我有这个工作代码,它在重新加载/加载页面时用文本框填充时间戳;我喜欢的是按钮在点击时填充文本框的时间。任何可以帮助我的事情将不胜感激,干杯!

代码:

<html>
<body>
<?php 
echo    date("Y/m/d");
echo    "<br>";

$time= date("h:i:s A", strtotime("now"-8));

echo    "<input type=textfield name=time value='$time' size=9>";
echo    "<br>";
echo    "<input type=\"textfield\" id=\"textbox\" value='' size=9>";
echo    "<input type=\"button\" value=\"Time\" onClick=\"document.getElementById    ('textbox').value='$time'\">";

?>
<br>
<input id="date" name="curTime" value="<?php echo date('M d,Y'); ?>" size="9"     maxlength="10"  Required />
</body>
</html> 

1 个答案:

答案 0 :(得分:0)

如果您想获得点击按钮的实际时间,您必须使用JavaScript在客户端执行此操作。

例如,

<!DOCTYPE html>
<html>
  <head>
    <title>Button Click</title>
  </head>
  <body>
    <input type="text" id="date" value="" />
    <input id="button" type="button" value="Get the Date!" onclick="document.getElementById('date').value = new Date().toLocaleTimeString(navigator.language, {hour: '2-digit', minute:'2-digit'})" />
  </body>
</html>

这将在点击时使用当前日期填充textarea。您可以通过AJAX,POST等将其发送回服务器

<强>更新

由于你说你使用的是IE 8,看起来IE 8并不支持格式化toLocaleString()输出,你可以过滤提供带有正则表达式的秒。 我强烈建议您不要支持IE 8,除非真的

,否则请不要执行以下操作。

<!DOCTYPE html>
<html>
  <head>
    <title>Button Click</title>
    <script type="text/javascript">
      function filter_seconds(date){
          return date.replace(/(\d{1,2}\:\d{1,2})\:\d{2}/, '$1')
      }
    </script>
  </head>
  <body>
    <input type="text" id="date" value="" />
    <input id="button" type="button" value="Get the Date!" onclick="document.getElementById('date').value = filter_seconds(new Date().toLocaleTimeString(navigator.language))" />
  </body>
</html>