我正在写一个计时器的web应用程序,它记录开始时间和停止time.It使用前端javascript,jquery1.4.2
和python
后端代码。当一个开始按钮被点击,开始时间是保存在一个javascript变量中。当再次单击按钮时,停止时间保存在另一个变量中。这些值作为隐藏参数传递给获取起始值的python代码,从django
的request
参数中停止值。javascript/python时间处理失败,在铬
我希望开始/停止参数的值是按以下格式
"07:16:03 PM"
,以便它可以使用'%I:%M:%S %p'
格式字符串进行解析。 我在mozilla firefox
。但正确得到这个,当我用chrome
,我只得到
"19:16:03"
这会导致值错误,当我尝试上面的格式字符串解析它。
import time
...
def process_input(request,...):
start_time=request.POST[u'timerstarted']
...
fmtstr='%I:%M:%S %p'
start_time_list = list(time.strptime(start_time,fmtstr)[3:6])
我试图把alert('start time set as'+start_time)
在JavaScript中查找值在页面的hiddenfields设置
与Firefox,我得到了
start time set as08:03:09 PM
stop time set as08:03:43 PM
但铬
start time set as20:04:21
stop time set as20:04:32
我JavaScript的知识,jquery是最小的。为什么脚本行为不同?在这两个浏览器?下面是JavaScript片段
$(document).ready(function(){
var changeBtnStatus=function(){
var timebtnvalue=$('#timebtn').attr("value");
if (timebtnvalue =="start"){
...
var start_date=new Date();
var str_time=start_date.toLocaleTimeString();
var timerstartedfield =$('#timerstarted');
timerstartedfield.attr("value",str_time);
alert('start time set as'+str_time);
}
else if (timebtnvalue=="stop"){
...
var stop_date=new Date();
var stp_time=stop_date.toLocaleTimeString();
var timerstoppedfield =$('#timerstopped');
timerstoppedfield.attr("value",stp_time);
alert('stop time set as'+stp_time);
}
};
var timerBtnClicked=function(){
...
changeBtnStatus();
};
$('#timebtn').click(timerBtnClicked);
...
}
);
我想这会给我“星期五,2011年8月12日15:02:45 GMT”..我将不得不在Python中处理然后...谢谢..将尝试 – jimgardener
输出将确实会改变,但它会在每个浏览器上保持不变。你可以使用toString来给它自己的格式,它会使解析更容易,因为你可以决定发送什么信息。 – TJHeuvel