현재 웹 사이트에서이 스크립트를 사용하고 있습니다. Ruby on Rails 3에서 작동하도록 만들 수 있지만 Ruby에서 다시 작성할 수 있는지 궁금합니다. 그렇다면 어디서 정보를 찾을 수 있습니까?JavaScript에서 Ruby on Rails로 시계 변환
function init ()
{
timeDisplay = document.createTextNode ("");
document.getElementById("clock").appendChild (timeDisplay);
}
function updateClock ()
{
var currentTime = new Date ();
var currentDay = currentTime.getDay ();
//Convert the day component to day abbreviation
currentDay = (currentDay == 0) ? "Sun" : currentDay;
currentDay = (currentDay == 1) ? "Mon" : currentDay;
currentDay = (currentDay == 2) ? "Tue" : currentDay;
currentDay = (currentDay == 3) ? "Wed" : currentDay;
currentDay = (currentDay == 4) ? "Thu" : currentDay;
currentDay = (currentDay == 5) ? "Fri" : currentDay;
currentDay = (currentDay == 6) ? "Sat" : currentDay;
var currentMonth = currentTime.getMonth();
//Convert the month component to text month
currentMonth = (currentMonth == 0) ? "January" : currentMonth;
currentMonth = (currentMonth == 1) ? "February" : currentMonth;
currentMonth = (currentMonth == 2) ? "March" : currentMonth;
currentMonth = (currentMonth == 3) ? "April" : currentMonth;
currentMonth = (currentMonth == 4) ? "May" : currentMonth;
currentMonth = (currentMonth == 5) ? "June" : currentMonth;
currentMonth = (currentMonth == 6) ? "July" : currentMonth;
currentMonth = (currentMonth == 7) ? "August" : currentMonth;
currentMonth = (currentMonth == 8) ? "September" : currentMonth;
currentMonth = (currentMonth == 9) ? "October" : currentMonth;
currentMonth = (currentMonth == 10) ? "November" : currentMonth;
currentMonth = (currentMonth == 11) ? "December" : currentMonth;
var currentDate = currentTime.getDate();
// Add suffix to the date
currentDate = (currentDate == 1 || currentDate == 21 || currentDate == 31) ? currentDate + "st" : currentDate;
currentDate = (currentDate == 2 || currentDate == 22) ? currentDate + "nd" : currentDate;
currentDate = (currentDate == 3) || currentDate == 23 ? currentDate + "rd" : currentDate;
currentDate = (currentDate > 3 || currentDate < 21 || currentDate > 23 || currentDate < 31) ? currentDate + "th" : currentDate;
var currentHours = currentTime.getHours ();
var currentMinutes = currentTime.getMinutes ();
// Pad the minutes and seconds with leading zeros, if required
currentMinutes = (currentMinutes < 10 ? "0" : "") + currentMinutes;
// Choose either "AM" or "PM" as appropriate
var timeOfDay = (currentHours < 12) ? "AM" : "PM";
// Convert the hours component to 12-hour format if needed
currentHours = (currentHours > 12) ? currentHours - 12 : currentHours;
// Convert an hours component of "0" to "12"
currentHours = (currentHours == 0) ? 12 : currentHours;
// Compose the string for display
var currentTimeString = "Today is : " + currentDay + " " + currentMonth + " " + currentDate + " " + currentHours + ":" + currentMinutes + " " + timeOfDay;
// Update the time display
document.getElementById("clock").firstChild.nodeValue = currentTimeString;
}
주의 Time.now는 서버 로컬 시간을 사용합니다. 다른 시간대의 사용자에게 페이지를 표시하려는 경우 utc_offset을 읽어야합니다. –
그게 내 질문에 영향을 미칠 것입니다 지금 그 시계 자동 업데이트 여부 것입니다? –
@ Rod Nelson - 원래 질문을 추가하거나 변경하는 경우 원래 질문을 업데이트하십시오. –