開始時間・終了時間の文字列を選択して合計時間を出すUserScriptを作りたい
作りたいスクリプトはあるけど、よくわからない
これから仕事なので、夕方にまた…。
がんばえ~~
仕事のタスクメモとして、
201020納期 // #〇〇工業 / Mail / 完成品 #201009受注
10/09 13:00~16:00 3H
までを自作のUserScriptで作ってあって、下段の時間のところを(3Hの部分)、13:00~16:00を選択してメニューを選ぶだけで計算してほしい!
断片だけ
code:fragment1.js
const format = text => {
const begin, end = text.replace(/(\d+:\d+)^\d*(\d+:\d+)/,'$1,$2') .split(',')
.map(time => {
return parseInt(hour)*60+parseInt(minute);
});
const duration = end -begin;
const minutes = duration % 60;
const hours = Math.floor(duration / 60);
return minutes !== 0 ? ${hours}H${minutes}M : ${hours}H;
};
やっつけで作った
あとはformatをいい感じにrefactoringして該当のUserScriptに組み込めばおk
Popup menuならscrapbox.PopupMenu.addButtonを使ったり
実行例
code:fragment1-test.js
const format = text => {
const begin, end = text.replace(/(\d+:\d+)^\d*(\d+:\d+)/,'$1,$2') .split(',')
.map(time => {
return parseInt(hour)*60+parseInt(minute);
});
const duration = end -begin;
const minutes = duration % 60;
const hours = Math.floor(duration / 60);
return minutes !== 0 ? ${hours}H${minutes}M : ${hours}H;
};
console.log(format('10:00〜12:00'));
// → 2H
console.log(format('13:00〜16:00'));
// → 3H
console.log(format('16:00〜15:00'));
// → -1H
console.log(format('12:40〜14:45'));
// → 2H5M
おー!ありがとうございます
なにがどうなのかわかりませんが、なんか違う…。
ごめんなさい、全くどうしたらいいかわかりません
おそらく私がテストのやり方を間違えているのかな?と思います
どのような方法でテストしたのか書いていただけるとわかるかもですtakker.icon
自分の個人project内にformat('13:30~16:30)と書いて、上記のスクリプトをコンソールに貼り付けました。 それは動きません。変数(函数)の宣言順序と、scriptのscopeを考えてみて下さい
https://gyazo.com/f1d45ba9e83ad680a9bd8bf883af616a
こうなりました
あ、違うところがある、なるほど、そうするのか……やってみよう
だめですね、見た目同じですがシンタックスエラーが出ますね
デベロッパーツール、難しいですねぇ。普段触りませんし…というかWebツール作りたくて参考書買いましたが意味わかんなくて…。いま出先なので帰ったらまた試します。
単にdeveloper toolが一番簡単そうに思えたので使っただけです。javascriptを動かせる環境であればどこでもtestできます 昼から妻がPCを使うようなので、今Fire tab8にjavascriptのアプリ入れて試したらできました。が、時間表記はされますが、分表記が出なくてどうするのかなぁ?と頭を抱えてしまいました
作ってもらったのにテストできずすいません
これ、Math.floor()(端数切捨て)を使っているけど、これでいいの?suto3.icon
console.log(format('12:40〜14:39'));だと、1Hが返ってくるけど
出来れば、1H15Mみたいな表記が欲しいですねぇ
Mまで欲しかったのですか。それは気づきませんでしたtakker.icon
すみません、説明不足で
修正しました。takker.icon
長々とありがとうございました。あとはチョコチョコイジってみたいと思います。
ういです。ぜひぜひいじってみてくださいtakker.icon
どんなスクリプト?実装方法がわからない?
作りたいtakker.icon*3
どういうことしたいか文章or Drawingで書いていただければ
本当に作れるかどうかはわからない
そもそも情報系の人間じゃないし
え?そうなの?
実現したいことがうまく書けなくても、書いてみよう
また新しいUserScriptをお願いしたいと企んでいます。まだ準備が出来てないので後日になります。 初めて、ページリスト上のタイトルが書き換わる光景を観たdnin.icon
みたかったなーtakker.icon
なんかこう、パタパタが
空港 時刻表示 パタパタで出てきた
UserScript.icon