質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

4回答

4574閲覧

javascript入門 12時間表記にし出力する

fj-kakeru

総合スコア29

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/03/11 13:01

編集2018/03/11 14:10
今、javascript入門書を読んでおり、日付を12時間表記にしてHTMLに表示させたのですが、 var ampm = ''; と、''の中に何もいれないのがはなぜでしょう。 var ampm; だけなのとは何が違うのでしょうか。
<script> var now = new Date(); var year = now.getFullYear(); var month = now.getMonth(); var date = now.getDate(); var hour =now.getHours(); var min = now.getMinutes(); var ampm = ''; if(hour < 12) { ampm = 'a.m.'; } else { ampm = 'p.m.'}; var output = year + '/' + (month + 1) + '/' +date + ' ' + (hour % 12) + ':' + min + ampm; document.getElementById('time').textContent = output; </script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/03/11 13:08

質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
kei344

2018/03/11 14:16

質問文でなくコードのみをコードブロックに入れてください。また、回答が付いた質問の編集は慎重に行ってください。質問内容と回答がずれてしまいますので、追加で何かあるなら追記してください。
x_x

2018/03/13 04:36

当初の質問が消されていて、なぜこの回答になるのかわからなくなっています
guest

回答4

0

ベストアンサー

11 / 12 = 0 あまり 11 になりませんか?

投稿2018/03/11 13:04

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fj-kakeru

2018/03/11 13:17

あ、、、なりました。ありがとうございます。 よかったら追記した質問もお答えいただけましたら幸いです。
退会済みユーザー

退会済みユーザー

2018/03/11 13:27

追加で質問する前に、ちゃんと質問文は書きましょ。
guest

0

2つ目の質問について
この処理なら、自分だったら三項演算子を使います。
一行でスッキリするので。

javascript

1var ampm = hour < 12 ? 'a.m.' : 'p.m.' ; 2

var ampm = '';と、var ampm;の違いですが、
あとの記述の仕方にも寄りますが、文字列をつなげる処理だと、結果が変わるため、注意が必要です。

javascript

1var a; 2a += 'test'; 3console.log(a); 4//undefinedtest 5 6var b = ''; 7b += 'test'; 8console.log(b); 9//test

投稿2018/03/11 16:09

kszk311

総合スコア3404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

2つ目の質問について、

確かにそこまで大きな違いはありませんが、細かな違いはあります。

var ampm;ampmの中身はundefined

var ampm = '';ampmの中身は(あくまでも)''(空文字)

初期値を指定することで文字列が入ることを強調しているのだと思いますが、必須ではない(var ampm;でもいい)ですね。

私だったらvar ampm = 'p.m.';という感じにしてelse文消しますかね。どういう書き方がいいかは人それぞれだとは思いますが。

投稿2018/03/11 14:27

namnium1125

総合スコア2043

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2018/03/11 13:29

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問