?? datetime.js
字號:
<style type="text/css">
.mctr_frameborder {
border-left: 2px inset #D4D0C8;
border-top: 2px inset #D4D0C8;
border-right: 2px inset #FFFFFF;
border-bottom: 2px inset #FFFFFF;
width: 86px;
height: 22px;
background-color: #FFFFFF;
overflow: hidden;
text-align: left;
font-family: "Tahoma";
font-size: 12px;
}
.mctr_arrow {
width: 16px;
height: 10px;
font-family: "Webdings";
font-size: 9px;
line-height: 2px;
padding-left: 2px;
cursor: default;
}
.mctr_input {
width: 18px;
height: 14px;
border: 0px solid black;
font-family: "Tahoma";
font-size: 12px;
text-align: right;
}
</style>
<script language="javascript">
function DefineMonthView(theTextObject,hasTime){ //the month view construct function
this.GetOnlyName = function( ){ //create one and only name on the document
var theName = "MV"; //prefix
var aryName = new Array();
aryName[0] = "_MonthView"; //the month view main body's name postfix
aryName[1] = "_MonthGrid"; //the month view day area's name postfix
aryName[2] = "_goPreviousMonth"; //the month view go previous month button's name postfix
aryName[3] = "_goNextMonth"; //the month view go next month button's name postfix
aryName[4] = "_YearList"; //the month view year list's name postfix
aryName[5] = "_MonthList"; //the month view month list's name postfix
aryName[6] = "_DayList"; //keep the month view current day's element name postfix
aryName[7] = "_TimeCtrl";
aryName[8] = "_HourInput";
aryName[9] = "_MinuteInput";
aryName[10] = "_SecondInput";
aryName[11] = "_Now";
aryName[12] = "_TimeInputUp";
aryName[13] = "_TimeInputDown";
aryName[13] = "_TimeInput";
var i = -1, j = 0, maxi = 2000;
var exTag = true;
while ((exTag == true) && (i < maxi)){
i++;
exTag = false;
for (j=0;j<aryName.length;j++){
if (document.all.item(theName + i.toString() + aryName[j]) != null){
exTag = true;
}
}
}
if (exTag == false){
return(theName + i.toString());
}else{
return("_" + theName);
}
}
var theName = this.GetOnlyName();
this.Name = theName; //the month view name
this.Source = theTextObject; //the month view act on theTextObject
this.hasTime = false;
if (!isNaN(hasTime)&&hasTime!=null)
this.hasTime = hasTime;
this.MinYear = 1900; //year list min value
//return between 1000 and 9999 and <= this.MaxYear
this.MaxYear = 2010; //year list max value
//return between 1000 and 9999 and >= this.MinYear
this.Width = 250; //the month view main body's width
this.Height = 180; //the month view main body's height
this.DateFormat = "<yyyy>-<mm>-<dd>"; //the date format
//<yy> or <yyyy> is year, <m> or <mm> is digital format month, <MMM> or <MMMMMM> is character format month, <d> or <dd> is day, other char unchanged
//this function setting year, month and day sequence
//example:
// <yyyy>-<mm>-<dd> : 2002-04-01
// <yy>.<m>.<d> : 02.4.1
// <yyyy> Year <MMMMMM> Month <d> Day : 2002 Year April Month 1 Day
// <m>/<d>/<yy> : 4/1/02
// <MMM> <dd>, <yyyy> : Apr 01, 2002
// <MMMMMM> <d>, <yyyy> : April 1, 2002
// <dd> <MMM> <yyyy> : 01 Apr 2002
// <dd>/<mm>/<yyyy> : 01/04/2002
this.UnselectBgColor = "#FFFFFF"; //the month view default background color
this.SelectedBgColor = "#808080"; //the selected date background color
this.SelectedColor = "#FFFFFF"; //the selected date front color
this.DayBdWidth = "2"; //the day unit border width, unit is px
this.DayBdColor = this.UnselectBgColor; //the day unit border color,default is this.UnselectBgColor
this.TodayBdColor = "#FF0000"; //denote today's date border color
this.InvalidColor = "#808080"; //it is not current month day front color
this.ValidColor = "#0000FF"; //it is current month day front color
this.WeekendBgColor = this.UnselectBgColor; //the weekend background color, default is this.UnselectBgColor
this.WeekendColor = this.ValidColor; //the weekend front color, default is this.ValidColor
this.YearListStyle = "font-size:12px; font-family:Verdana;"; //the year list's style
this.MonthListStyle = "font-size:12px; font-family:Verdana;"; //the month list's style
this.MonthName = new Array(); //month name list, font is include this.MonthListStyle
this.MonthName[0] = "一月";
this.MonthName[1] = "二月";
this.MonthName[2] = "三月";
this.MonthName[3] = "四月";
this.MonthName[4] = "五月";
this.MonthName[5] = "六月";
this.MonthName[6] = "七月";
this.MonthName[7] = "八月";
this.MonthName[8] = "九月";
this.MonthName[9] = "十月";
this.MonthName[10] = "十一月";
this.MonthName[11] = "十二月";
this.TitleStyle = "cursor:default; color:#000000; background-color:" + this.UnselectBgColor + "; font-size:16px; font-weight:bolder; font-family:Times new roman; text-align:center; vertical-align:bottom;"; //the month view title area's style
this.WeekName = new Array(); //week name list, font is include this.TitleStyle
this.WeekName[0] = "日";
this.WeekName[1] = "一";
this.WeekName[2] = "二";
this.WeekName[3] = "三";
this.WeekName[4] = "四";
this.WeekName[5] = "五";
this.WeekName[6] = "六";
this.FooterStyle = "cursor:hand; color:#000000; background-color:" + this.UnselectBgColor + "; font-size:12px; font-family:Verdana; text-align:left; vertical-align:middle;"; //the month footer area's style
this.TodayTitle = "今天"; //today tip string, font is include this.FooterStyle
this.MonthBtStyle = "font-family:Marlett; font-size:12px;"; //the change month button style
this.PreviousMonthText = "3"; //the go previous month button text
//font is include this.MonthBtStyle
this.NextMonthText = "4"; //the go next month button text
//font is include this.MonthBtStyle
this.MonthGridStyle = "border-width:1px; border-style:solid; border-color:#000000;"; //the month view main body's default style
this.HeaderStyle = "height:32px; background-color:menu;"; //the month view header area's style
this.LineBgStyle = "height:10px; background-color:" + this.UnselectBgColor + "; text-align:center; vertical-align:middle;"; //the month view title area and day area compart area background style
this.LineStyle = "width:90%; height:1px; background-color:#000000;"; //the month view title area and day area compart area front style
this.DayStyle = "cursor:hand; font-size:12px; font-family:Verdana; text-align:center; vertical-align:middle;"; //the month view day area's style
this.OverDayStyle = "this.style.textDecoration='underline';"; //the mouse over a day style
this.OutDayStyle = "this.style.textDecoration='none';"; //the mouse out a day style
this.mctr_frameborder =" border-left: 2px inset #D4D0C8; border-top: 2px inset #D4D0C8; border-right: 2px inset #FFFFFF; border-bottom: 2px inset #FFFFFF; width: 152px; height: 22px; background-color: #FFFFFF; overflow: hidden; text-align: left; font-family: \"Tahoma\"; font-size: 12px;";
this.mctr_arrow =" width: 16px; height: 10px; font-family: \"Marlett\"; font-size: 9px; line-height: 2px; padding-left: 2px; cursor: default;";
this.mctr_input =" width: 18px; height: 14px; border: 0px solid black; font-family: \"Tahoma\"; font-size: 12px; text-align: right;";
this.GetoffsetLeft = function(theObject){ //return theObject's absolute offsetLeft
var absLeft = 0;
var thePosition="";
var tmpObject = theObject;
while (tmpObject != null){
thePosition = tmpObject.position;
tmpObject.position = "static";
absLeft += tmpObject.offsetLeft;
tmpObject.position = thePosition;
tmpObject = tmpObject.offsetParent;
}
return absLeft;
}
this.GetoffsetTop = function(theObject){ //return theObj's absolute offsetTop
var absTop = 0;
var thePosition = "";
var tmpObject = theObject;
while (tmpObject != null){
thePosition = tmpObject.position;
tmpObject.position = "static";
absTop += tmpObject.offsetTop;
tmpObject.position = thePosition;
tmpObject = tmpObject.offsetParent;
}
return absTop;
}
this.GetFormatYear = function(theYear){//format theYear to 4 digit
var tmpYear = theYear;
if (tmpYear < 100){
tmpYear += 1900;
if (tmpYear < 1970){
tmpYear += 100;
}
}
if (tmpYear < this.MinYear){
tmpYear = this.MinYear;
}
if (tmpYear > this.MaxYear){
tmpYear = this.MaxYear;
}
return(tmpYear);
}
this.GetMonthDays = function(theYear, theMonth){ //get theYear and theMonth days number
var theDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var theMonthDay = 0, tmpYear = this.GetFormatYear(theYear);
theMonthDay = theDays[theMonth];
if (theMonth == 1){ //theMonth is February
if(((tmpYear % 4 == 0) && (tmpYear % 100 != 0)) || (tmpYear % 400 == 0)){
theMonthDay++;
}
}
return(theMonthDay);
}
this.SetDateFormat = function(theYear, theMonth, theDay, theHour, theMinute, theSecond){//format a date to this.DateFormat
var theDate = this.DateFormat;
var tmpYear = this.GetFormatYear(theYear);
var tmpMonth = theMonth;
if (tmpMonth < 0){
tmpMonth = 0;
}
if (tmpMonth > 11){
tmpMonth = 11;
}
var tmpDay = theDay;
if (tmpDay < 1){
tmpDay = 1;
}else{
tmpDay = this.GetMonthDays(tmpYear, tmpMonth);
if (theDay < tmpDay){
tmpDay = theDay;
}
}
theDate = theDate.replace(/<yyyy>/g, tmpYear.toString());
theDate = theDate.replace(/<yy>/g, tmpYear.toString().substr(2,2));
theDate = theDate.replace(/<MMMMMM>/g, this.MonthName[tmpMonth]);
theDate = theDate.replace(/<MMM>/g, this.MonthName[tmpMonth].substr(0,3));
if (theMonth < 9){
theDate = theDate.replace(/<mm>/g, "0" + (tmpMonth + 1).toString());
}else{
theDate = theDate.replace(/<mm>/g, (tmpMonth + 1).toString());
}
theDate = theDate.replace(/<m>/g, (tmpMonth + 1).toString());
if (theDay < 10){
theDate = theDate.replace(/<dd>/g, "0" + tmpDay.toString());
}else{
theDate = theDate.replace(/<dd>/g, tmpDay.toString());
}
theDate = theDate.replace(/<d>/g, tmpDay.toString());
if (this.hasTime)
theDate = theDate + " "+this.formatTime(theHour)+":"+this.formatTime(theMinute)+":"+this.formatTime(theSecond);
return(theDate);
}
this.GetTextDate = function(theString){ //convert a string to a date, if the string is not a date, return a empty string
var i = 0, tmpChar = "", find_tag = "";
var start_at = 0, end_at = 0, year_at = 0, month_at = 0, day_at = 0;
var tmp_at = 0, one_at = 0, two_at = 0, one_days = 0, two_days = 0;
var aryDate = new Array();
var tmpYear = -1, tmpMonth = -1, tmpDay = -1;
var tmpDateTime =theString;
tmpTime = tmpDateTime.substr(tmpDateTime.length-9,9);
tmpDateTime = tmpDateTime.substr(0,tmpDateTime.length-9);
var tmpDate ;
var tmpHour = 0;
var tmpMinute = 0;
var tmpSecond = 0;
if (this.hasTime){
tmpDate = tmpDateTime.toLowerCase();
tmpHour = parseInt(tmpTime.substr(0,tmpTime.indexOf(':')),10);
tmpTime = tmpTime.substr(tmpTime.indexOf(':')+1,tmpTime.length);
tmpMinute = parseInt(tmpTime.substr(0,tmpTime.indexOf(':')),10);
tmpTime = tmpTime.substr(tmpTime.indexOf(':')+1,tmpTime.length);
tmpSecond = parseInt(tmpTime.substr(0,tmpTime.length),10);
}
else
tmpDate = theString.toLowerCase();
var defDate = "";
end_at = tmpDate.length;
for (i=1;i<end_at;i++){
if (tmpDate.charAt(i)=="0"){
tmpChar = tmpDate.charAt(i-1);
if (tmpChar<"0" || tmpChar>"9"){
tmpDate = tmpDate.substr(0,i-1) + "-" + tmpDate.substr(i+1);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -