No.5ベストアンサー
- 回答日時:
No1、No3です。
こんにちは。>更新をしてなくても毎週木曜日に決まって、日付を取得するスクリプト
>があればいいなと思っております
その木曜日が休日とか、元旦でもいいのでしょうか?
実際の更新とは関係なく、閲覧者が閲覧した日に直近の木曜日なら#1、#2の回答でよいと思いますが、実際には虚偽の表示になってしまいますね。
例えば、閲覧者が前週に閲覧していたとして、「更新した」という表示があるので、そのページ内を丹念に探したとしても、違いが見つからないということが起こり得ます。
#3の方法と#1の方法を組み合わせれば、「実際の更新日に直近の木曜日を表示」ということも可能ですが、実は、#3で取得できる日付の書式がブラウザによってマチマチであるため、この値を計算に使用するのはエラーを起こす危険性があります。(閲覧者の使用環境による)
<参考>
http://www.alles.or.jp/~sfujita/jpn/difflast.htm
また、スクリプトを使用する際の、表示上の問題として#3のURL先にも書いてありましたように、「スクリプトをオフにしている閲覧者に対してスクリプトの結果が反映されない表示となる」ということがあります。
これに対しては、
1)何も表示せずにおいて、スクリプト有効時のみ表示(#3のURLの方法)
2)表示できる内容(公開日など)を表示しておいて、後からスクリプトで
内容を書き換える。
3)公開日などを表示しておいて、スクリプトで更新日を付け加える。
などの対応があろうかと、思われます。
いずれにしろ、これらの問題に対しては、#1の後半の方法の方が確実に対処が可能です。
とはいえ、スクリプトでの対応例を…(複数あるので、組合わせればOKかと。ただし、後半の計算方法は↑の書式対応の問題は残っています。)
前回のものも少し修正してあります。(setMillisecondsの必要はないのでsetHoursに、式も#2様の式(ちょっと短いので)を借用しました)
<html>
<head>
<script type="text/javascript">
window.onload = function() {
//閲覧日に直近の過去の木曜日に書き換え(id=day1)
var d = new Date();
d.setHours(-24*((10+d.getDay())%7));
document.getElementById('day1').innerHTML =
'最終更新日:' + d.getFullYear() + '/' + (d.getMonth()+1) + '/' + d.getDate();
//実際の更新日を取得して、直近の木曜日を追加表示(id=day2)
var d = new Date();
d.setTime(Date.parse(document.lastModified));
d.setHours(-24*((10+d.getDay())%7));
var e = document.getElementById('day2');
e.innerHTML = e.innerHTML + '(最終更新日:' + d.getFullYear() +
'/' + (d.getMonth()+1) + '/' + d.getDate() + ')';
}
</script>
</head>
<body>
◇スクリプトがオフの場合の表示状態
<div id="day">公開日:○○/○○/○○</div>
<hr><p>
◇閲覧日に直近の過去の木曜日に書き換え
<div id="day1">公開日:○○/○○/○○</div>
<hr><p>
◇実際の更新日を取得し直近の木曜日を追加
<div id="day2">公開日:○○/○○/○○</div>
</body>
</html>
この回答への補足
更に詳細な記述をありがとうございます。
補足を書きますと、
毎週木曜日に既に売約済みや変更のものがないかをチェックしているという意味で、
もし修正がなくとも更新済の表記にして欲しいとのことで、
(お盆・正月も含め)
上記の内容にあっているとは思います。
実際に設置してから、御礼のポイントを付けるようにしますので、
もうしばらくお待ち下さい。
day2の方は私の環境では表示されなかったのですが
day1の方でちゃんと表示されました。
divタグの中に、非表示の場合に念のための日付が書き込んでおけるのがよいですね。
木曜日当日は、その日の日付が表示されるとは思うのですが、
それを確認してから本環境に採用しようと思います。
ありがとうございました。
No.3
- 回答日時:
No1です。
スクリプトからでも更新日を取得できましたね。失礼しました。
これが一番簡単だと思います。
http://allabout.co.jp/internet/hpcreate/closeup/ …
この回答への補足
これは最終更新日を取得するスクリプトですよね。
木曜日に更新を必ずするわけではないのですが、客先から必ず木曜日に日付を変更してくれとの要望がありまして、
逆に更新してないときは、自分でも抜けてしまうので、
更新をしてなくても毎週木曜日に決まって、日付を取得するスクリプトがあればいいなと思っております。
説明が悪くてすみません。
No.2
- 回答日時:
さきをこされちまった~!
でもちょっとだけみじかいので、とうか!
<p>
<script type="text/javascript">
var n = new Date; n.setHours(24*-((10+n.getDay())%7));
document.write('前回の更新日:'+ (n.getMonth() + 1) + '/' + n.getDate());
</script>
</p>
この回答への補足
すいません、上の方と同じく、これは最終更新日を取得するスクリプトですよね。
木曜日に更新を必ずするわけではないのですが、客先から必ず木曜日に日付を変更してくれとの要望がありまして、
逆に更新してないときは、自分でも抜けてしまうので、
更新をしてなくても毎週木曜日に決まって、日付を取得するスクリプトがあればいいなと思っております。
説明が悪くてすみません。
No.1
- 回答日時:
JavaScriptのカテゴリーへの質問なので、
◇スクリプトでその日(表示日)以前の、木曜日を計算して表示する。
でも、この方法だと正しい更新日と関係なく、直前の木曜日が表示され
るということになってしまうので、お薦めはできません。
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var d = new Date();
d.setMilliseconds(((10-d.getDay())%7-6)*24*60*60*1000);
document.getElementById('day').innerHTML =
d.getFullYear() + '/' + (d.getMonth()+1) +
'/' + d.getDate() + '更新';
}
</script>
</head>
<body>
<div id="day"></div>
</body>
</html>
◇サーバ側(PHPやCGIなど)で、対象ファイルの更新日を取得して日付
表示の部分を生成して出力。 (またはデータを別に送信)
こちらのほうが、木曜日に限定せずに正しい更新日を表示可能なので
よろしいのではと思います。
<参考>
http://blog.loaferz.com/?eid=226594
http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83% …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 会社・職場 新型コロナに感染。仕事の出勤について。 6 2023/08/22 14:10
- ノンジャンルトーク 金曜から月曜は時間が経つのが早く感じます。 1 2022/08/05 19:36
- 派遣社員・契約社員 派遣の仕事決定に迷う。 職場見学をして2つ決まっています。早く1つを決めて言わなくてはなりません 違 4 2022/05/10 22:07
- Windows 10 このWindowsUpdateの失敗メッセージは何を物語るか? 5 2023/07/17 11:49
- WordPress(ワードプレス) WordpressのWebサイト 編集の仕方 1 2022/06/16 12:21
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- FX・外国為替取引 タイミングの悪さって、言い訳ですか? 2 2023/07/13 10:13
- 求人情報・採用情報 先週木曜日に面接した会社から連絡がきません。 今インディード見たら1時間前の更新でまた同じのが掲載さ 3 2022/12/23 14:29
- 地球科学 太陽系の惑星と週(日曜日~土曜日)、月(1月~12月)に付いての質問です。 太陽系には、8つの惑星が 3 2022/10/08 22:32
- マンガ・コミック wed版のピッコマの実は私が本物だったについて(内容についてではありません) 1 2022/04/09 00:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIフォーム一定時間過ぎる...
-
<a href="#" …>の意味を教えて...
-
JavaScriptからVBScriptの呼び...
-
SQLのWHEREで全てを質問する方法
-
html メールリンクにて自動ファ...
-
bodyにidをつける理由は何ですか?
-
別ファイルのfunctionの読み込み方
-
ページの読み込みが完了してか...
-
新しいウィンドゥを最大化で立...
-
<script>...</script> 要素の内
-
javascriptとApacheの設定
-
HTMLソースからURLだけを抜き出...
-
lightwindowでPDFを表示させる...
-
SCRIPT5007: 未定義または NULL...
-
外部からのjs呼び出しについて。
-
子フレームの自動リロードは可...
-
横スクロールを右から左へ・・・
-
外部JavaScriptの設置場所について
-
javascriptにてonclickを無効
-
chromeでの擬似クラス:focus に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
¥マークの検索について
-
CGIフォーム一定時間過ぎる...
-
document.getElementById
-
javascriptで変数を組み込みたい
-
location.hrefが動かない・・・
-
明日の日にちを表示するときは
-
ページ内文字列の置換について
-
JavaScriptの入れ子
-
1から100までの平方根を表示す...
-
カウントダウンとカウントアッ...
-
JSによるリンク先の値の取得
-
特定のURLからの訪問者を入室禁...
-
IEでiframe内のcookieを保持
-
16進n桁の文字列変換の方法は?
-
ブラウザを閉じないようにする...
-
promptを使用した年齢認証
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
別ファイルのfunctionの読み込み方
-
getElementsByNameで要素が取得...
おすすめ情報