藝不壓身

          真的

          2007年2月2日

          IE和FireFox的盒模型實現(xiàn)不一致

          IE和FireFox的盒模型實現(xiàn)不一致,郁悶中
          IE的div的padding不包含邊界,F(xiàn)ireFox不包含上邊界和左邊界卻包含右邊界和下邊界

          posted @ 2007-02-02 14:35 雪松 閱讀(490) | 評論 (1)編輯 收藏

          JavaScript的DateFormat類

          /**
          ?* JavaScript的DateFormat類
          ?* [File? ] date.js
          ?* [Author] cerdar
          ?* [Date? ] 2006-06-20
          ?* copy right cerdar
          /**----------------------------------------------------------------*/
          function DateFormat(pattern, formatSymbols)
          {
          ?? ?if(pattern == null || pattern == undefined)
          ?? ?{
          ?? ??? ?pattern = "yyyy-MM-dd HH:mm:ss SSS";
          ?? ?}

          ?? ?if(formatSymbols == null || formatSymbols == undefined)
          ?? ?{
          ?? ??? ?formatSymbols = "yMdHmsS";
          ?? ?}

          ?? ?this.pattern = pattern;
          ?? ?this.formatSymbols = formatSymbols;
          }

          DateFormat.prototype.format = function(date)
          {
          ?? ?var time = getTime(date);
          ?? ?
          ?? ?// 標記存入數(shù)組
          ?? ?var cs = this.formatSymbols.split("");

          ?? ?// 格式存入數(shù)組
          ?? ?var fs = this.pattern.split("");

          ?? ?// 構造數(shù)組
          ?? ?var ds = time.split("");

          ?? ?// 標志年月日的結束下標
          ?? ?var y = 3;
          ?? ?var M = 6;
          ?? ?var d = 9;
          ?? ?var H = 12;
          ?? ?var m = 15;
          ?? ?var s = 18;
          ?? ?var S = 22;

          ?? ?// 逐位替換年月日時分秒和毫秒
          ?? ?for(var i = fs.length - 1; i > -1; i--)
          ?? ?{
          ?? ??? ?switch (fs[i])
          ?? ??? ?{
          ?? ??? ??? ?case cs[0]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?fs[i] = ds[y--];
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[1]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?fs[i] = ds[M--];
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[2]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?fs[i] = ds[d--];
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[3]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?fs[i] = ds[H--];
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[4]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?fs[i] = ds[m--];
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[5]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?fs[i] = ds[s--];
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[6]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?fs[i] = ds[S--];
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ?}
          ?? ?}

          ?? ?return fs.join("");
          }

          /**
          ?*@param datetime - String
          ?*
          ?*@return - Date
          ?*/
          DateFormat.prototype.parse = function(date)
          {
          ?? ?var y = "";
          ?? ?var M = "";
          ?? ?var d = "";
          ?? ?var H = "";
          ?? ?var m = "";
          ?? ?var s = "";
          ?? ?var S = "";

          ?? ?// 標記存入數(shù)組
          ?? ?var cs = this.formatSymbols.split("");

          ?? ?// 格式存入數(shù)組
          ?? ?var ds = this.pattern.split("");

          ?? ?// date?? = "2005-08-22 12:12:12 888";
          ?? ?// format = "yyyy-MM-dd HH:mm:ss SSS";
          ?? ?// sign?? = "yMdHmsS";
          ?? ?var size = Math.min(ds.length, date.length);

          ?? ?for(var i=0; i<size; i++)
          ?? ?{
          ?? ??? ?switch (ds[i])
          ?? ??? ?{
          ?? ??? ??? ?case cs[0]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?y += date.charAt(i);
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[1]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?M += date.charAt(i);
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[2]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?d += date.charAt(i);
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[3]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?H += date.charAt(i);
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[4]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?m += date.charAt(i);
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[5]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?s += date.charAt(i);
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ??? ?case cs[6]:
          ?? ??? ??? ?{
          ?? ??? ??? ??? ?S += date.charAt(i);
          ?? ??? ??? ??? ?break;
          ?? ??? ??? ?}
          ?? ??? ?}
          ?? ?}
          ?? ?
          ?? ?if(y.length < 1) y = 0; else y = parseInt(y);
          ?? ?if(M.length < 1) M = 0; else M = parseInt(M);
          ?? ?if(d.length < 1) d = 0; else d = parseInt(d);
          ?? ?if(H.length < 1) H = 0; else H = parseInt(H);
          ?? ?if(m.length < 1) m = 0; else m = parseInt(m);
          ?? ?if(s.length < 1) s = 0; else s = parseInt(s);
          ?? ?if(S.length < 1) S = 0; else S = parseInt(S);

          ?? ?var d = new Date(y, M - 1, d, H, m, s, S);

          ?? ?return d;
          }

          // 返回當前時間
          function getTime(date)
          {
          ?? ?if(date == null)
          ?? ?{
          ?? ??? ?date = new Date();
          ?? ?}
          ?? ?
          ?? ?var y = date.getFullYear();
          ?? ?var M = date.getMonth() + 1;
          ?? ?var d = date.getDate();
          ?? ?var h = date.getHours();
          ?? ?var m = date.getMinutes();
          ?? ?var s = date.getSeconds();
          ?? ?var S = date.getTime()%1000;

          ?? ?var html = y + "-";

          ?? ?if(M < 10)
          ?? ?{
          ?? ??? ?html += "0";
          ?? ?}
          ?? ?html += M + "-";

          ?? ?if(d < 10)
          ?? ?{
          ?? ??? ?html += "0";
          ?? ?}
          ?? ?html += d + " ";

          ?? ?if(h < 10)
          ?? ?{
          ?? ??? ?html += "0";
          ?? ?}
          ?? ?html += h + ":";

          ?? ?if(m < 10)
          ?? ?{
          ?? ??? ?html += "0";
          ?? ?}
          ?? ?html += m + ":";

          ?? ?if(s < 10)
          ?? ?{
          ?? ??? ?html += "0";
          ?? ?}
          ?? ?html += s;
          ?? ?
          ?? ?html += " ";

          ?? ?if(S < 100)
          ?? ?{
          ?? ??? ?html += "0"
          ?? ?}

          ?? ?if(S < 10)
          ?? ?{
          ?? ??? ?html += "0";
          ?? ?}

          ?? ?html += S;

          ?? ?return html;
          }

          /////////////////////////////////////////////////////////////////////////////////////
          <!-- test.html -->
          <html>
          <head>
          <title>模板文件</title>
          <script language="javascript" src="date.js"></script>
          <script language="javascript">
          <!--
          function setValue(_id, _value)
          {
          ??? var obj = document.getElementById(_id);

          ??? if(obj != null)
          ??? {
          ??? ??? obj.value = _value;???
          ??? }
          }

          function test0()
          {
          ??? // 使用自定義符號
          ??? var df = new DateFormat(" HH:mm:ss SSS");

          ??? setValue("ID_TXT0", df.format(new Date()));
          }

          function test1()
          {
          ??? // 標準日期格式
          ??? var df1 = new DateFormat("yyyy-MM-dd HH:mm:ss SSS");
          ???
          ??? var df2 = new DateFormat("MM/dd/yy");
          ??? var df3 = new DateFormat("dd/MM/yy");
          ??? var df4 = new DateFormat("yyyy年MM月dd日 HH時mm分ss秒 SSS毫秒");

          ??? // 解析出Date對象
          ??? var dt = df1.parse("2004-02-23 13:24:48 789");
          ???
          ??? setValue("ID_TXT1", "[" + df1.format(dt) + "] [" + df2.format(dt) + "] [" + df3.format(dt) + "] [" + df4.format(dt) + "]");
          }

          function test2()
          {
          ??? // 使用自定義符號
          ??? var df = new DateFormat("AAAA-BB-CC DD:EE:FF GGG", "ABCDEFG");
          ??? var dt = df.parse("2004-02-23 13:24:48 789");

          ??? setValue("ID_TXT2", df.format(dt));
          }

          function test3()
          {
          ??? // 一般彈出日歷對話框, 得到日期, 此處假設為當前日期
          ??? var retval = new DateFormat("yyyy-MM-dd").format(new Date());

          ??? if(retval != null )
          ??? {
          ??? ??? var obj = document.getElementById("ID_TXT3");

          ??? ??? if(obj != null)
          ??? ??? {
          ??? ??? ??? // 時間日期格式化對象
          ??? ??? ??? var dtf = new DateFormat(obj.format);
          ??? ??? ???
          ??? ??? ??? // 給日期追加當前時間
          ??? ??? ??? retval += new DateFormat(" HH:mm:ss SSS").format(new Date());

          ??? ??? ??? // 按照給定的格式解析出時間日期字符串
          ??? ??? ??? obj.value = "[" + retval + "] : " + dtf.format(new DateFormat("yyyy-MM-dd HH:mm:ss SSS").parse(retval));
          ??? ??? }
          ??? }
          }

          function test4()
          {
          ??? var df = new DateFormat("yyyy-MM-dd HH:mm:ss SSS");
          ??? var dt = df.parse("2007-02-02 13:54:24 250");

          ??? setValue("ID_TXT4", new DateFormat("yyyy年MM月dd日 HH時mm分ss秒 SSS毫秒").format(dt));
          }

          function dispatch(src)
          {
          ??? if(src == null || src == undefined)
          ??? {
          ??? ??? return;
          ??? }

          ??? if(src.value == null || src.value == undefined)
          ??? {
          ??? ??? return;
          ??? }

          ??? var fun = window[src.value];

          ??? if(fun == null || fun == undefined)
          ??? {
          ??? ??? return;
          ??? }

          ??? if("function" != typeof(fun))
          ??? {
          ??? ??? return;
          ??? }

          ??? fun();
          }
          //-->
          </script>
          </head>
          <body>
          <input type="text" id="ID_TXT0" size="100"/><input type="button" value="test0" onclick="dispatch(this)"/><br/>
          <input type="text" id="ID_TXT1" size="100"/><input type="button" value="test1" onclick="dispatch(this)"/><br/>
          <input type="text" id="ID_TXT2" size="100"/><input type="button" value="test2" onclick="dispatch(this)"/><br/>
          <input type="text" id="ID_TXT3" size="100" format="yyyy年MM月dd日 HH時mm分ss秒 SSS毫秒"/><input type="button" value="test3" onclick="dispatch(this)"/>
          <input type="text" id="ID_TXT4" size="100"/><input type="button" value="test4" onclick="dispatch(this)"/><br/>
          </body>
          </html>

          posted @ 2007-02-02 14:20 雪松 閱讀(4364) | 評論 (0)編輯 收藏

          僅列出標題  
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 石嘴山市| 柏乡县| 六盘水市| 颍上县| 桂林市| 永丰县| 卓尼县| 类乌齐县| 柘荣县| 龙山县| 于田县| 大石桥市| 上林县| 松滋市| 永州市| 潮州市| 建始县| 石门县| 娄底市| 武平县| 新巴尔虎右旗| 会同县| 抚顺市| 汉沽区| 和硕县| 普安县| 娱乐| 炉霍县| 海林市| 镇宁| 施甸县| 平遥县| 武胜县| 大安市| 米易县| 扶沟县| 金阳县| 交口县| 开平市| 措美县| 察雅县|