「
日付と時刻を挿入
」を編集中
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
中間の版での編集と競合したため、取り消せませんでした。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
== N 版 == メモ帳のF5キーの再現です。いまの時刻をカーソル位置に挿入します。 <syntaxhighlight lang="javascript"> #language = "JScript" // 日付と時刻を挿入.js d = new Date document.selection.Text = d.getHours() + ':' + p(d.getMinutes()) + ' ' + [p(d.getYear()), p(d.getMonth() + 1), p(d.getDate())].join('/') function p(x) { return x < 10 ? '0' + x : x } </syntaxhighlight> == Masme 版 == 書式設定(※下表参考)を元に現在日時を出力・挿入します。 {|class="wikitable" ! 書式設定の例 !! 出力結果の例 |- |<code>h:mm YYYY/MM/DD</code> ||<code>4:05 2001/02/03</code> |- |<code>YYYY-MM-DD hh:mm:ss</code> ||<code>2001-02-03 04:05:06</code> |- |<code>ddd, MMM D, YYYY</code> ||<code>Sat, Feb 3, 2001</code> |- |<code>YY年M月D日(d) h時m分s秒</code> ||<code>01年2月3日(土) 4時5分6秒</code> |- |<code>hhmm 'hhmm' h'hm'm ''</code> ||<code>0405 hhmm 4hm5 '</code> |} === 更新履歴 === ; 2016/02/28 * 書式 d と ddd の内容を交換し、d を 日~土 出力、ddd を Sun~Sat 出力にした。 ** MMM が Jan~Dec 出力なので字数を揃えた。 * アポストロフィー <code>'</code> によるエスケープを導入。 ; 2014/02/12 * 初版公開。 === ソースコード === <syntaxhighlight lang="javascript"> //■日付と時刻 // 2014/02/12-2016/02/28 //■書式設定 ●初期値="h:mm YYYY/MM/DD" var format = "h:mm YYYY/MM/DD"; var symbol = (function(){ var t = new Date(), pad = function(n){return n<10? "0"+n : n}; return { "YYYY": (t.getFullYear()), "YY": pad(t.getFullYear()%100), "MMM": ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()], "MM": pad(t.getMonth()+1), "M": (t.getMonth()+1), "DD": pad(t.getDate()), "D": (t.getDate()), "ddd": ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][t.getDay()], "d": ["日","月","火","水","木","金","土"][t.getDay()], "hh": pad(t.getHours()), "h": (t.getHours()), "mm": pad(t.getMinutes()), "m": (t.getMinutes()), "ss": pad(t.getSeconds()), "s": (t.getSeconds()) }; })(); var result = format.replace(/(')(.*?)\1|([YMDdhms])\3*/g, function($0,esc,ltr){return ltr || esc || symbol[$0] || $0;} ); Document.Write(result); </syntaxhighlight> == Isari 版 == masmeさん版を、12時間表記に対応させポップアップメニューからフォーマットを選べるようにしたものです。複数の様式を使い分ける必要がある時にご利用ください。Mery2.6.6以降で動作します(以前の方は<code>const</code>と<code>let</code>を全て<code>var</code>に置き換えてください)。 書式はmasmeさんの表に加え以下のように12時間を表す大文字の H/HH 、「午前/午後」どちらかに置き換えられる ampm が拡張されています。 {|class="wikitable" ! 書式設定の例 !! 出力結果の例 |- |<code>ampmH時m分、'ampm'に行った。</code> ||<code>午後3時7分、ampmに行った。</code> |} <syntaxhighlight lang="javascript"> #title = "選択式日付と時刻" // 2023/07/16 // 原版: masme 2014/02/12-2016/02/28 // 書式リスト。お好きな文字列に書き換え・追加してください。キーがポップアップメニューに表示されるラベル、値が書式のフォーマットです。 const formatDefinition = {"ISO 8601": "YYYY-MM-DDThh:mm:ss+09:00", "23年7月7日(金)午後3時7分": "YY年M月D日(d)ampmH時m分"}; // 書式選択 const menu = CreatePopupMenu(); const formatKeys = Object.keys(formatDefinition); formatKeys.forEach(function(key, index) { menu.Add(key, index + 1); }); menu.Add("キャンセル", 0); // マウスポインタの位置にポップアップを表示したければTrack(mePosMouse)に const selected = menu.Track(0); let formatKey = "", format = "h:mm YYYY/MM/DD"; if (selected !== 0 && selected <= formatKeys.length){ formatKey = formatKeys[selected - 1]; format = formatDefinition[formatKey]; }else if (selected === 0){ Quit(); }else{ Alert("指定が正しくありません。"); Quit(); } const symbol = (function(){ const t = new Date(), pad = function(n){return n<10? "0"+n : n}; return { "YYYY": (t.getFullYear()), "YY": pad(t.getFullYear()%100), "MMM": ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()], "MM": pad(t.getMonth()+1), "M": (t.getMonth()+1), "DD": pad(t.getDate()), "D": (t.getDate()), "ddd": ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][t.getDay()], "d": ["日","月","火","水","木","金","土"][t.getDay()], "hh": pad(t.getHours()), "h": (t.getHours()), "HH": pad(t.getHours()%12), "H": (t.getHours()%12), "mm": pad(t.getMinutes()), "m": (t.getMinutes()), "ss": pad(t.getSeconds()), "s": (t.getSeconds()), "ampm": (t.getHours() < 12 ? "午前" : "午後") }; })(); const result = format.replace(/(')(.*?)\1|ampm|([YMDdHhms])\3*/g, function($0,esc,ltr){return ltr || esc || symbol[$0] || $0;} ); Document.Write(result); </syntaxhighlight>
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
編集を中止
編集の仕方
(新しいウィンドウで開きます)
スポンサーリンク
案内メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク