いつもお世話になっています。
kintoneで日報アプリ等を構築する際に、いつも思う疑問が2点あります。
今後のバージョンアップで改善されることを期待しますが、現時点でうまく回避できる方法などがあれば教えていただければ幸いです。
- 12時間⇔24時間表記の切り替えが個人設定
日報で業務の開始・終了時間などを入力させたいときに「時刻」フォームを使いますが、このときの表記の切り替えが個人設定でしか設定できません。
入力された日報から業務時間の状況を集計したいときなどに、ある人は12時間、ある人は24時間で表記していると、集計データがおかしくなってしまいます。
個人設定はあっても良いのですが、システム側でどちらかに強制的に固定できる機能があれば解決だと思います。
むしろこの部分が個人設定になっていることが理解できません。
個人設定だと何か便利な使い方があるのでしょうか。
- 時刻の選択プルダウンが30分刻み
PCから時刻を選択しようとすると、30分刻みの選択肢しかなく、いったん近い時刻を選んだあとで、キーボードから数値入力するかカーソルキーなどで選びなおす必要があります。
iPadなどから選択すると、時と分でプルダウンが分かれており、1分単位で入力できるようになっており、便利です。
PCもiPadと同じ形式にしていただければ解決だと思うのですが、なぜPCは違う形式をとっているのでしょうか。
以上、現在の仕様になっている明確な理由と、改善策などについてお返事を希望します。
9件のコメント
TAKA 様
貴重なご意見をありがとうございます。2点ご要望として承りました。
ご質問についても可能な範囲でお答えできるよう努めます。またご連絡いたします。
コメントありがとうございます。
お手数をおかけしますが、よろしくお願いいたします。
TAKA様
一つ目 12時間⇔24時間表記の切り替えが個人設定 に関してですが、重要度判定のために、より詳細な問題状況をお聞かせいただけますか。
1. どんなカスタマイズをしたとき
2. 集計がどうおかしくなるのか
よろしくお願いいたします。
ご確認、ありがとうございます。
ご質問1・2ですが、何かのカスタマイズでおかしくなる、というわけではありません。
アカウントごとに見ている画面が、12時間表記と24時間表記で異なるため、集計を行なう担当者がある人は12時間、ある人は24時間で集計している、という状況になります。
今のところ、これによる大きな問題は起きていませんが、そもそも表記を固定できれば良いのでは、と考えた次第です。
むしろ、個人設定で表記が変更できることのメリットを提示いただければ、それに沿った活用が出来るのですが、私には思いつかなかったため、ご質問しました。
なお、ご質問2の時刻入力のほうが、私どもの環境では重要度が高く、実際に入力する担当者から「使いにくい」と苦情が出ています。
以上、いろいろとご要望ばかりで恐縮ですが、ご検討の程何卒よろしくお願い申し上げます。
TAKA様
ご連絡ありがとうございます。カスタマイズに無関係の内容とのことで、製品そのものについてのご要望に相当すると考えます。
こちらはカスタマイズ時のQAになるため、たとえばカスタマイズ時の問題について回避策の有無などを確認するなどのご質問であれば対応可能です。
製品要望については、ご自分のkintone環境のポータルの「?」をクリックいただき、「お問い合わせ」>「メールによるお問い合わせ」から「ご意見/ご要望」を選んで投稿ください。通常営業日1〜2日で対応いたします。
今回はあまりお役に立てず申し訳ありませんでしたが、今後も当フォーラムをお気軽に活用いただければ幸いです。
TAKAさん、

>1.12時間⇔24時間表記の切り替えが個人設定
「12時間⇔24時間表記の切り替え」で、アプリの時刻表示が異なるわけですが、
jsコードで時刻フィールドの値を読み込んでみると、「12時間⇔24時間表記の切り替え」設定に関わらず、
24時間形式でデータを取得できています。
「開始時刻」フィールドに入力した値を、jsで、「A時刻」(時刻フィールド)と「B時刻」(もじれつフィールド)に、
格納してみました。
[jsコード]
var t1 = record.開始時刻.value;
record.A時刻.value = t1; // 時刻フィールド
record.B時刻.value = t1; // 文字列フィールド
文字列フィールド「B時刻」に格納した値は、24時間表記のままでした。
回避方法として、この、「文字列」フィールドに格納した、開始・終了時間を使って、
「24時間表記」形式でのデータ集計ができるのではないかと思います。
以下は、当方の実施結果です。
[12時間の設定]結果
[24時間の設定]結果
cybozu Development team さんの方でもご検討くださるようなので、
お尋ねになってみるのがよいと思います。
よろしくお願い致します。
>>cybozu Development team様
書き込み場所が違うとのこと、失礼いたしました。
改めてご要望としてご連絡させていただきますので、ご検討の程、よろしくお願い申し上げます。
>>kazuo urata
12時間⇔24時間表記の設定に関わらず、データ上は24時間形式で格納されているということですね。
大変参考になりました。
ありがとうございました。
TAKAさん、


>2.時刻の選択プルダウンが30分刻み
1分単位の指定をドロップダウンで作ってみました。
実用上は、アプリ画面の見かけや操作性からすると、、
「キーボードから数値入力するかカーソルキーなどで選びなおす」方がいいかなとは思いますが...。
(1)どうしても、フォームの見かけは大きくなります。
(2)選択リストも長いですね。
(3)ドロップダウンリストで選択した値で、時刻表示文字列を作ります。
var h_drp = record.時ドロップダウン.value;
var m_drp = record.分ドロップダウン.value;
var a_drp1 = h_drp+":"+m_drp; // ドロップダウン hh:mm
(4)この、時刻表示文字列を時刻フィールドに代入することができます。
(5)たとえば、開始時刻をと終了時刻をドロップダウンで設定し、
その開始~終了の経過時間を計算できます。
・ hh:mm形式の時刻表示を分に変換します。
// hh:mm を分に変換 ####################
function strToMin(str) { // str 「hh:mm」
var hm = str.split(":");
return parseInt(hm[0]) * 60 + parseInt(hm[1]);
}
・分単位値にした開始時刻と終了時刻から経過時間を計算し、hh:mm形式の文字列にします。
min = 終了時刻(分)-開始時刻(分) // 経過時間
// 分をhh:mmに変換 #####################
function minToStr(min) {
var h = Math.floor(min / 60);
var hx =h;
if(h<10){var hx = "0"+h} // 2桁「0*」値にする
var m = min % 60;
var mx =m;
if(m<10){var mx = "0"+m} // 2桁「0*」値にする
return hx + ":" + mx;
}
以上、試してみました。
よろしくお願いいたします。
>>kazuo urata
詳細な情報、ありがとうございます。
時刻のUIは、私がというよりは実際に日報を入力する現場から「分かりにくい」と指摘があった部分ですので、
具体的な改善方法をご教授いただけて、大変助かりました。
ぜひ試してみたいと思います。
今件については、kintoneへの要望として問い合わせフォームから改めて連絡しましたところ、
との返答がございました。
今後の改善の参考にしていただけることを願いつつ、当質問は終了させていただきたいと存じます。
ありがとうございました。