カテゴリー

月別過去記事

みるくぜりー内 検索
Loading

つくっちゃいました♪(AM/PM→24時間表示へ)

ユーザー助け合い掲示板にあったPM/AM表示をなくして
24時間表示にするスクリプトです。
いいネタ頂きました。
そして日付の曜日を頭3文字にするスクリプトもセットで作りました。

もっと日付を細かく設定したい方は、from NZさんのところにあるこちらが便利です♪

--------------------
2004/03/15 23:51修正
日付変更プログラムに一部不具合があったため修正しました。

2004/03/15 23:53修正
私大バカやっちゃいました…。ソース見えてませんでしたね(−−;
修正しました。

2004/03/16 (時間は秘密)修正
指摘してもらったAM12時の例外処理を追加。
#夕方といいながらあっさりできたのでひっそりと…。

2004/03/16 19:53 修正
scriptタグを閉じているつもりが閉じていませんでした(−−;

2004/03/16 20:06 修正
changeDateの方に不具合があったので修正しました。

2004/03/17 1:11 修正
指摘してもらったのにPM12時の例外処理を書いてないことに気がつく。

2004/03/17 (秘密) 修正
コメント欄の時刻も24時間表示できるように変更。
一部不具合も修正
エントリー関連のブロック(タグ)より後ろに以下のソースを書いてください。

<script type="text/javascript">
<!--
//★ここに呼び出しコマンドを書く★(下の方に例文を書いています。)

//曜日を頭3文字にするスクリプト
function changeDate(tagname,classname){
    var i;
    var strDate;
    var tags = document.getElementsByTagName(tagname);

    for(i=0;i < tags.length ;i++){
        if(tags[i].className==classname){
            strDate=tags[i].firstChild.nodeValue;
            strTemp=strDate.match(/¥d¥d¥d¥d¥,[01]¥d¥,[0123]¥d¥,¥s¥w¥w¥w/);
            if(strTemp){
                tags[i].firstChild.nodeValue = strDate.replace(/¥d¥d¥d¥d¥,[01]¥d¥,[0123]¥d¥,¥s¥w*day/g,strTemp + " ");
            }
        }
    }
}


//時間を24時間表示にするスクリプト
function changeTime(tagname,classname){
    var i,j;
    var hour;
    var tags = document.getElementsByTagName(tagname);

    for(i=0;i < tags.length ;i++){
        if(tags[i].className==classname){
            if(tags[i].hasChildNodes()){
                for(j=0; j < tags[i].childNodes.length; j++){
                    if(tags[i].childNodes[j].hasChildNodes()){
                        strTime = tags[i].childNodes[j].firstChild.nodeValue;
                        tags[i].childNodes[j].firstChild.nodeValue = getTime(strTime);
                    }else{
                        strTime = tags[i].childNodes[j].nodeValue;
                        tags[i].childNodes[j].nodeValue = getTime(strTime);
                    }
                }
            }
        }
    }
}
function getTime(strTime){
    var    strTemp=strTime.match(/([01¥s]¥d)(:[0-5]¥d¥s)([AP]M)/g);
    if(strTemp){
        if(RegExp.$3=="PM"){
            hour = 12;
        }else{
            hour = 0;
        }
        if(RegExp.$1=="12")hour-=12;
        hour = hour + parseFloat(RegExp.$1)
        strTemp = strTime.replace(/[01¥s]¥d:[0-5]¥d¥s[AP]M/g," "+hour + RegExp.$2)
        return strTemp;
    }else{
        return strTime;
    }
}

//--></script>

呼び出しコマンド例です。
//★ここに呼び出しコマンドを書く★
↑このコメントの下に以下の様なコマンドを書いてください。

//Shower用の呼び出しコマンド。
changeDate("div","entry_author");
changeTime("div","entry_author");

//その他テンプレートの呼び出しコマンド(plain・rings・flatなど)
changeDate("div","entry_date");
changeTime("div","entry_state");

いろいろカスタマイズしている方用にコマンド呼び出し方法の説明を書いておきます。
changeDate・changeTime共に一つ目はタグ名を書きます。divやspanなど。
2つ目にはそのタグに指定しているクラス名を書きます<div class="ココ">
今現在からだという人は念のため何かいれてみてください(^-^;

日付だけ変更できればいいという方は、changeTimeコマンドの前に
時間だけ変更できればいいという方は、changeDateコマンドの前に
//(スラッシュ二つ)を入れてください。

うまく動かないという方はこのスレッドにて報告してください。
私のわかる範囲内でかつ時間があればこたえたいとおもいます(^-^;
#設置してくださいというのはご勘弁を…。
#バグがでてログが消えた!なんていうのも責任はとれませんのであしからず。


--------------------------
2004/06/15追記
1桁の時刻だった場合にゼロがつくようにするには?

>hour = hour + parseFloat(RegExp.$1)
ここの後ろに以下のプログラムを書き足してみてください。
hour = "0" + hour hour.substr(hour.length-2,2)
これで0が先頭についた状態で表示されるはずです。


コメント
スクリプト開発、ご苦労様です。

私の記憶が正しければ、JUGEMでは、午後0:00(正午)と午前0:00(夜中0時)はそれぞれ12:00PM,12:00AMと表示されます。従ってそれらを例外的に処理する必要があります。

ざっと見た感じでは24:00,12:00と表示されてしまうような感じがします。見当違いな指摘だったら無視して下さい(^^;。

http://simpleboxes.jugem.cc/?eid=34

以上、ご参考いただければ、幸いです。
あらら…。それには気が付いてませんでした(^-^;
また夕方以降修正しますー。
はじめまして、まると申します。
今試しているのですが、なぜかうまくいきません。
今からまた試してみますが、報告だけ。
う〜む。何となく予想はしていましたが(^-^;
私の転記ミス等々が発覚。
修正完了しましたので、張り直しお願いします。
出来ました!!

ありがとうございました。
かなりうれしいです。
  • まる
  • 2004/03/16 8:49 PM
はじめましてです。
スクリプトお借りしましたです☆
ご報告まで(^▽^
今設置してみました。無事表示されています、有難うございます。

ところで、8:00 など○時の部分が1ケタの時、08:00 というように最初に『ゼロ』がつくようになればなー、と思うのですが……。
我が侭を言って済みません。
カスタマイズ方法があれば御願いします。
  • shiorix
  • 2004/05/16 11:16 AM
スクリプト使わせていただきましたw
>上記のshiorixさんがおっしゃってますが
ゼロがつくとさらにいいなと思います〜
(って、人に頼ってばかり・・・_| ̄|○)
もし可能であれば公開楽しみにしてます。
  • munch
  • 2004/06/11 7:23 AM
ゼロがつくようにということでちょっと補足します(^-^;

>hour = hour + parseFloat(RegExp.$1)
ここの後ろに以下のプログラムを書き足してみてください。
hour = "0" + hour hour.substr(hour.length-2,2)
これで0が先頭についた状態で表示されるはずです。
わ、できました!
茅乃さま、ありがとうございますですー!!!
  • shiorix
  • 2004/06/21 1:21 PM
はじめまして、nelと申します。
時間表示が気になっていたわたしとしては
悪戦苦闘したけれど、やっとできてうれしいですー!
ありがとうございました。
  • nel
  • 2004/06/22 4:27 AM
コメントする








   
この記事のトラックバックURL
トラックバック
・投稿記事の曜日がMonday等、フル表記だったので、日付のフォーマット変更しました。 ・投稿、及びコメント時間を24時間表記にしました。 ・カレンダー内で当日の背景にのみ、色が付くようにました。     日付のカスタマイズは、ふろむにぅじぃ/takkyunサマよ
  • がつふれ
  • 2004/05/20 9:15 PM
Movabale TypeにはBlogtimesというブログの投稿時刻を視覚的に表現するプラグインがあります。 全く同じ動作にはなりませんが、これと同じような機能をJUGEMでも出来ないかと思って作ってみました。 時刻表示をいじるやつくっちゃいました♪(AM/PM→24時間表示
  • from NZ
  • 2004/03/29 6:48 AM
タイトルに ? をつけてみました。 「ミッカボウズ」って宣言しちゃうのって なんだか図々しい感じなので。(何を今更・・・ ? をつけることによって 「ミッカボウズかも?うふっ」 と可愛らしさを出して誤魔化そうかと。。(気持ち悪いっすね・・・ シンプ
  • ミッカボウズ?
  • 2004/03/20 3:27 AM