Ejemplos en Javascript

Otro calendario

Este script visualiza un calendario con el mes corriente.

<HTML>
<HEAD>

<TITLE>Ejemplos Javascript: ejemplo pr???¡ctico </TITLE>


</HEAD>

<BODY bgcolor="white">

<!-- JavaScript immediate script -->
<SCRIPT LANGUAGE="JavaScript">
<!--

// Copyright 1996 - Tomer and Yehuda Shiran
// This example will appear in our forthcoming book on JavaScript.
// Feel free to "steal" this code provided that you leave this notice as is.
// Additional examples from the book can be found at http://www.geocities.com/SiliconValley/9000/
// For more information contact Tomer or Yehuda Shiran <yshiran@iil.intel.com>

setCal()

function getTime() {
        // initialize time-related variables with current time settings
        var now = new Date()
        var hour = now.getHours()
        var minute = now.getMinutes()
        now = null
        var ampm = ""

        // validate hour values and set value of ampm
        if (hour >= 12) {
                hour -= 12
                ampm = "PM"
        } else
                ampm = "AM"
        hour = (hour == 0) ? 12 : hour

        // add zero digit to a one digit minute
        if (minute < 10)
                minute = "0" + minute // do not parse this number!

        // return time string
        return hour + ":" + minute + " " + ampm
}

function leapYear(year) {
        if (year % 4 == 0) // basic rule
                return true // is leap year
        /* else */ // else not needed when statement is "return"
                return false // is not leap year
}

function getDays(month, year) {
        // create array to hold number of days in each month
        var ar = new Array(12)
        ar[0] = 31 // January
        ar[1] = (leapYear(year)) ? 29 : 28 // February
        ar[2] = 31 // March
        ar[3] = 30 // April
        ar[4] = 31 // May
        ar[5] = 30 // June
        ar[6] = 31 // July
        ar[7] = 31 // August
        ar[8] = 30 // September
        ar[9] = 31 // October
        ar[10] = 30 // November
        ar[11] = 31 // December

        // return number of days in the specified month (parameter)
        return ar[month]
}

function getMonthName(month) {
        // create array to hold name of each month
        var ar = new Array(12)
        ar[0] = "Enero"
        ar[1] = "Febrero"
        ar[2] = "Marzo"
        ar[3] = "Abril"
        ar[4] = "Mayo"
        ar[5] = "Junio"
        ar[6] = "Julio"
        ar[7] = "Agosto"
        ar[8] = "Septiembre"
        ar[9] = "Octubre"
        ar[10] = "Noviembre"
        ar[11] = "Diciembre"

        // return name of specified month (parameter)
        return ar[month]
}

function setCal() {
        // standard time attributes
        var now = new Date()
        var year = now.getYear()
        var month = now.getMonth()
        var monthName = getMonthName(month)
        var date = now.getDate()
        now = null

        // create instance of first day of month, and extract the day on which it occurs
        var firstDayInstance = new Date(year, month, 1)
        var firstDay = firstDayInstance.getDay()
        firstDayInstance = null

        // number of days in current month
        var days = getDays(month, year)

        // call function to draw calendar
        drawCal(firstDay + 1, days, date, monthName, 1900 + year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
        // constant table settings
        var headerHeight = 50 // height of the table's header cell
        var border = 2 // 3D height of table's border
        var cellspacing = 4 // width of table's border
        var headerColor = "midnightblue" // color of table's header
        var headerSize = "+3" // size of tables header font
        var colWidth = 60 // width of columns in table
        var dayCellHeight = 25 // height of cells containing days of the week
        var dayColor = "darkblue" // color of font representing week days
        var cellHeight = 40 // height of cells representing dates in the calendar
        var todayColor = "red" // color specifying today's date in the calendar
        var timeColor = "purple" // color of font representing current time

        // create basic table structure
        var text = "" // initialize accumulative variable to empty string
        text += '<CENTER>'
        text += '<TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + '>' // table settings
        text +=         '<TH COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell
        text +=                 '<FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '>' // set font for table header
        text +=                         monthName + ' ' + year
        text +=                 '</FONT>' // close table header's font settings
        text +=         '</TH>' // close header cell

        // variables to hold constant settings
        var openCol = '<TD WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'
        openCol += '<FONT COLOR="' + dayColor + '">'
        var closeCol = '</FONT></TD>'

        // create array of abbreviated day names
        var weekDay = new Array(7)
        weekDay[0] = "dom"
        weekDay[1] = "lun"
        weekDay[2] = "mar"
        weekDay[3] = "mie"
        weekDay[4] = "jue"
        weekDay[5] = "vie"
        weekDay[6] = "sab"
       
        // create first row of table to set column width and specify week day
        text += '<TR ALIGN="center" VALIGN="center">'
        for (var dayNum = 0; dayNum < 7; ++dayNum) {
                text += openCol + weekDay[dayNum] + closeCol
        }
        text += '</TR>'
       
        // declaration and initialization of two variables to help with tables
        var digit = 1
        var curCell = 1
       
        for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
                text += '<TR ALIGN="right" VALIGN="top">'
                for (var col = 1; col <= 7; ++col) {
                        if (digit > lastDate)
                                break
                        if (curCell < firstDay) {
                                text += '<TD></TD>';
                                curCell++
                        } else {
                                if (digit == date) { // current cell represent today's date
                                        text += '<TD HEIGHT=' + cellHeight + '>'
                                        text += '<FONT COLOR="' + todayColor + '">'
                                        text += digit
                                        text += '</FONT><BR>'
                                        text += '<FONT COLOR="' + timeColor + '" SIZE=2>'
                                        text += '<CENTER>' + getTime() + '</CENTER>'
                                        text += '</FONT>'
                                        text += '</TD>'
                                } else
                                        text += '<TD HEIGHT=' + cellHeight + '>' + digit + '</TD>'
                                digit++
                        }
                }
                text += '</TR>'
        }
       
        // close all basic table tags
        text += '</TABLE>'
        text += '</CENTER>'

        // print accumulative HTML string
        document.write(text)
}

// -->
</SCRIPT>



</body>
</html>

Fechas y horarios