날짜 표시 메서드 설명

3471 단어 JavaScriptRails

개요


JS와 Rails 시간으로 표시가 좋지 않기 때문에 그곳의 수정을 진행한다.

메모지



변경하고 싶은 곳.

  • 표시 시간에 연월을 더하기를 희망합니다.(화면 위쪽의 시간 표시)
    Javascript로 썼기 때문에 JS로 변경
  • 출근시간, 퇴근시간을 시간만 표시하는 것으로 변경하고 싶습니다.
    Rails로 썼기 때문에 Rails의 수정
  • 우선 레일스 부분입니다.보아하니 다음 형식으로 치면 될 것 같다.
    <% time = Time.now # Thu Dec 24 00:00:00 +0900 2011  %>
    <%= time.strftime('%Y年%m月%d日 %H:%M:%S') %>
    
    다음 코드를 변경해 보세요.
    ユーザーID:<%= r.user_id %><br>
    出勤時間:<% if r.timein.present? %><%= r.timein %><% else %>まだ出勤打刻してないよ<% end %><br>
    退社時間:<% if r.timeout.present? %><%= r.timeout %><% else %>まだ退勤打刻してないよ<% end %><br>
    
    변경되면 이쪽이야.그냥 뒤에 기술만 썼어요.
    ユーザーID:<%= r.user_id %><br>
    出勤時間:<% if r.timein.present? %><%= r.timein.strftime('%H:%M:%S') %><% else %>まだ出勤打刻してないよ<% end %><br>
    退社時間:<% if r.timeout.present? %><%= r.timeout.strftime('%H:%M:%S') %><% else %>まだ退勤打刻してないよ<% end %><br>
    
    시간만 표시됩니다.
    <script type="text/javascript">
    var testtoday = new Date();
    var thisYear = set2fig( testtoday.getFullYear() );
    var thisMonth = set2fig( testtoday.getMonth() );
    var today = set2fig( testtoday.getDate() );
    console.log(thisYear);
    console.log(thisMonth);
    console.log(today);
    </script>
    

    다음은 JS 부분을 수정해 봅시다.찾아보니 JS의 데이트(Date)에 문제가 있는 것 같습니다.다음 콘솔을 적으세요.로그로 확인했어요.년 월 일.이를 토대로 JS를 변경합니다.

    코드 변경은 다음과 같습니다.네.연월일이 포함된 표시를 잘 바꾸었다.
    <p id="RealtimeClockArea2"></p>
    <script type="text/javascript">
    function set2fig(num) {
       // 桁数が1桁だったら先頭に0を加えて2桁に調整する
       var ret;
       if( num < 10 ) { ret = "0" + num; }
       else { ret = num; }
       return ret;
    }
    function showClock2() {
       var nowTime = new Date();
       var thisYear = set2fig( nowTime.getFullYear() );
       var thisMonth = set2fig( nowTime.getMonth() );
       var today = set2fig( nowTime.getDate() );
       var nowHour = set2fig( nowTime.getHours() );
       var nowMin = set2fig( nowTime.getMinutes() );
       var nowSec = set2fig( nowTime.getSeconds() );
       var msg = thisYear + "年" + thisMonth + "月" + today + "日" + nowHour + ":" + nowMin + ":" + nowSec;
       document.getElementById("RealtimeClockArea2").innerHTML = msg;
    }
    setInterval('showClock2()',1000);
    </script>
    

    참고 자료


    날짜 데이터 포맷 (strftime)
    JavaScript에 Date 트랩이 너무 많아요.

    좋은 웹페이지 즐겨찾기