My Programing/HTML and JavaScript

JS :: 오전/오후 시간표시

nkdk 2008. 6. 16. 10:20

조건연산자

|형식|
   (조건식) ? 변수1 : 변수2;
    [조건식]이 참이면 [변수1]을 수행하고 [조건식]이 거짓이면 [변수2]를 수행합니다.
        조건연산자는 if문을 간결하게 작성할 수 있습니다.

|예시|
   hour = (hour == 0) ? 12 : hour;
    if (hour == 0)
     hour = 12;
    else
     hour = hour;

<html>
<script language="JavaScript">
<!--

function get_time() {
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();

var str_ampm, dsp_ampm;
/* 실 오전은 00:00~11:59 오후는 12:00~23:59입니다만,
일상적인 시간개념을 차용합니다. -> 오전을 01:00 ~ 12:59로 오후를 13:00 ~ 00:59 */
if (hour == 0) {  // ex)00:30이 오전12:30이 아닌 오후12:30으로 표시됩니다.
  str_ampm = "오후";
} else if (hour < 13) { // ex)12:30은 오후12:30이 아닌 오전12:30으로 표시됩니다.
  str_ampm = "오전";
} else { // ex)23:30은 오후 11:30으로 표시됩니다.
  hour -= 12;
  str_ampm = "오후";
}
hour = (hour == 0) ? 12 : hour; // 0시면 12시로 표시, 그 이외는 그대로

if (hour < 10)
  hour = "0" + hour;
if (minute < 10)
  minute = "0" + minute;
if (second < 10)
  second = "0" + second;

dsp_ampm = "현재 시간은 " + str_ampm + " " + hour + " : " + minute + " : " + second;
dsp_time.innerHTML = dsp_ampm;
}

setInterval("get_time()", 1000);
// -->
</script>

<body>
<div id="dsp_time"></div>
</body>
</html>