2012-08-01 3 views
1

내가 시간과 내가 어떻게 나에게 이런 식으로 시간을 변환 할 수 있습니다 내가 입력을 더블 클릭하면 이렇게 ... 24 형식으로 12 시간 형식에서 시간을 변경해야 할 몇 번을 입력 텍스트 입력이 있습니다JQuery와 변환 시간 형식

1시 => 13시

1시 => 13시

(힌트) 내 코드 : 여기

$("input").live('dblclick', function(){ 
    var type12 = $(this).val(); 
    if (type12.length == 4){ 
    var time = type12.replace(/\:/, ''); 
    var hh = time.substr(0,1); 
    var mm = time.substr(0,3); // TO DO 
    var type24 = Number(hh) + 12; 
    var time24 = hh + mm; 
    $(this).val(time24); 
    sortTimes($(this).closest("tr")); 
    }else{alert('not');} 
}); 
+0

'오전/오후'가 없으면 낮이나 밤에 시간이 어떻게되는지 알 수 있습니까? – xdazz

+0

나던 문제 .. 그것을 관리를 위해입니다 아무 문제에만 – Abudayah

+0

@xdazz가 언급 한 바와 같이, 당신은 오전/오후 자오선 값이 있어야합니다, 또는 당신이이 일의 몇시 말할 수 없을 것입니다. 이것 좀보세요 : http://jsfiddle.net/374xN/1/. 어쩌면 그것은 올바른 방향으로 당신을 가리킬 것입니다. – Jeemusu

답변

1

내 의견에 따라 다음과 같이 할 수 있습니다. 먼저 12 시간 동안 일관된 문자열을 정의해야합니다. 나는 hh:mm am/hh:mm pm 형식을 사용할 것입니다. 당신이 다시 24 시간 시간을 변환하는 기능이 필요 것 때문에 jQuery를 1.7로 감가되었으며 .on()로 대체하고, 둘째 때문에

둘째, 나는 먼저이 이유에 대해 .live() 도랑 것 버튼을 두 번 클릭하면 12 시간. 단 한 번의 클릭을 사용하는 경우 .toggle()을 사용할 수 있지만 더블 클릭의 경우 플러그인을 사용해야하므로 jQuery-Function-Toggle-Plugin을 사용하는 것이 좋습니다. 일단 코드에 포함 된 그렇게처럼 사용할 수 있습니다 :

$('input').funcToggle('dblclick', function() { 
    //Odd Click 
}, function() { 
    // Even Click 
}); 

다음, 대신 다음 문자열이있는 :이 있는지 확인하고 완벽하게 잘하는 동안, 우리는 그냥 .indexOf(":")를 사용할 수있는 문자열을 사용하여 .split (":")을 사용하여 문자열을 배열로 분할합니다. >http://jsfiddle.net/374xN/4/

이것은 당신이 무엇을 요구에 대한 아마 잔인한 사람이지만, 희망이 옳은 방향으로 당신을 가리 킵니다 -

var type12 = "12:45"; 
if (type12.indexOf(":") != -1) { 
    time_array = type12.split(":"); 
    hh = time_array[0]; //12 
    mm = time_array[1]; //45 
} 

전체 코드 예제는 여기에서 찾을 수 있습니다 : 이것은 내가 그것을 한 방법이다.

+0

제 경우에는 AM/PM을 보여줄 필요가 없지만 좋은 직업을 보여 드리겠습니다. 감사합니다. :) – Abudayah

1

대답

012,351,641에게 있습니다
$("input").live('dblclick', function(){ 
    var type12 = $(this).val(); 
    if (type12.length == 4){ 
     var time = type12.replace(/\:/, ''); 
     var hh = time.substr(0,1); 
     var mm = time.substr(1,2); 
     var hh = Number(hh) + 12; 
     var time24 = hh + ':' + mm; 
     $(this).val(time24); 
    }else if(type12.length == 5 && type12.substr(0,1) == 0) { 
     var time = type12.replace(/\:/, ''); 
     var hh = time.substr(0,2); 
     var mm = time.substr(2,2); 
     var hh = Number(hh) + 12; 
     var time24 = hh + ':' + mm; 
     $(this).val(time24); 
    } 
});