日付と時刻を挿入
ナビゲーションに移動
検索に移動
n 版[編集]
メモ帳のF5キーの再現です。いまの時刻をカーソル位置に挿入します。
// 日付と時刻を挿入.js
var d = new Date();
document.selection.Text = d.getHours() + ':' + p(d.getMinutes()) + ' ' + [d.getFullYear(), p(d.getMonth() + 1), p(d.getDate())].join('/');
function p(x) {
return x < 10 ? '0' + x : x;
}
masme 版[編集]
書式設定(※下表参考)を元に現在日時を出力・挿入します。
書式設定の例 | 出力結果の例 |
---|---|
h:mm YYYY/MM/DD |
4:05 2001/02/03
|
YYYY-MM-DD hh:mm:ss |
2001-02-03 04:05:06
|
ddd, MMM D, YYYY |
Sat, Feb 3, 2001
|
YY年M月D日(d) h時m分s秒 |
01年2月3日(土) 4時5分6秒
|
hhmm 'hhmm' h'hm'm '' |
0405 hhmm 4hm5 '
|
変更履歴[編集]
- 1.0.1 (2016-02-28)
- 書式 d と ddd の内容を交換し、d を 日~土 出力、ddd を Sun~Sat 出力にした
- MMM が Jan~Dec 出力なので字数を揃えた
- アポストロフィー
'
によるエスケープを導入
- 書式 d と ddd の内容を交換し、d を 日~土 出力、ddd を Sun~Sat 出力にした
- 1.0.0 (2014-02-12)
- 初版公開
ソースコード[編集]
//■日付と時刻
// 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);
isari 版[編集]
masmeさん版を、12時間表記に対応させポップアップメニューからフォーマットを選べるようにしたものです。複数の様式を使い分ける必要がある時にご利用ください。Mery2.6.6以降で動作します(以前の方はconst
とlet
を全てvar
に置き換えてください)。
書式はmasmeさんの表に加え以下のように12時間を表す大文字の H/HH 、「午前/午後」どちらかに置き換えられる ampm が拡張されています。
書式設定の例 | 出力結果の例 |
---|---|
ampmH時m分、'ampm'に行った。 |
午後3時7分、ampmに行った。
|
#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);
スポンサーリンク