시작 시간과 종료 시간을 기록하는 타이머 웹 앱을 작성 중입니다. 프런트 엔드에 javascript,jquery1.4.2
, 백엔드 코드에 python
을 사용합니다. 시작 버튼을 클릭하면 시작 시간이 자바 스크립트 변수에 저장됩니다. 버튼을 다시 클릭하면 중지 시간이 다른 변수에 저장됩니다.이 값은 숨겨진 매개 변수로 django
의 request
매개 변수에서 시작 값을 가져 오는 파이썬 코드로 전달됩니다.크롬에서 javascript/python 시간 처리가 실패합니다.
나는 시작/정지 매개 변수 값이 '%I:%M:%S %p'
형식 문자열을 사용하여 구문 분석 할 수
"07:16:03 PM"
그래서 다음과 같은 형식이 될 것으로 기대합니다. 내가 chrome
를 사용할 때 내가 mozilla firefox
나누었다에 올바르게를 얻고, 난 단지 내가 위의 형식 문자열을 구문 분석 할 때이 값 오류가 발생
"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])
내가 값이
파이어 폭스와 함께 페이지의 hiddenfields 설정있는 것을 발견하기 위해 자바 스크립트 alert('start time set as'+start_time)
을 퍼팅 시도, 나는
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가 최소한입니다. 왜 스크립트가 다른 동작을합니까? 이 두 브라우저에서 y를? 아래는 자바 스크립트 당신은 당신이 당신의 자신의 형식을 제공하거나 toUTCString를 사용할 수있는 toString 메소드를 사용하여, 지역에 따라 시간의 문자열을 원하지 않는
$(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);
...
}
);
나는 "Fri, 12 Aug 2011 15:02:45 GMT"를 줄 것입니다. 나는 python으로 처리해야합니다. 감사합니다. 시도해 보겠습니다. – jimgardener
출력이 실제로 변경되지만, 변경 될 것입니다. 각 브라우저에서 일정해야합니다. toString을 사용하여 자신 만의 형식을 제공 할 수 있으며, 전송되는 정보를 결정할 수 있으므로 구문 분석이 쉬워집니다. – TJHeuvel