我正在寫一個計時器的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