基礎から学ぶActionScript 3.0

月日を2桁に揃える

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
月日の数字を2桁に揃えましょう。月日の値が1桁のときは、頭に0を加えることにします。ここでも、 String.substring()メソッドが使えます。
講師:
10:37

字幕

数字を文字として扱う時の、 数字の桁数の揃え方についてご説明します。 今、日付のうち、年は4桁のうち、 下2桁がとってあります。 あと、月と日は、 特に操作は加えていません。 今はたまたま、月も日も、 2桁だからいいんですが、 もし 、1日(ついたち)であっても、 1 にならずに、 01 と、2桁で表示するような 操作の仕方についてご説明します。 この Flash ムービーの 日付を操作して表示する部分について、 スクリプトを確かめておきましょう。 メインタイムラインに、 フレームアクションとして 書いてありますので、 scripts のレイヤーの キーフレームを右クリックして、 「アクション」パネルを開きます。 ステートメントの1行目から、 簡単に確かめましょう。 まずは、 Date オブジェクトを 作っています。 引数がありませんので、 現在の日時情報を持っています。 そのうち日付をとっていくんですが、 まず最初に date インスタンスから fullYear プロパティで、 年の4桁の数値を String 関数で文字列に変換して、 変数に入れています。 そして、年は4桁のうち、 下2桁をとっています。 その操作です。 この文字から、 substring メソッドで、 下2桁という指定なんですが、 頭から、0、1、2と数えていって、 下2桁の、 12 の 1 は、 2番目にあたります。 それから、 12 と、 2つ欲しい場合には、 1つ間を開けて、 4 という指定になります。 取りたい文字というのは、 間に仕切りを考えて、 その中から仕切りの範囲で 取ってくると、考えやすいと思います。 この後は、特に文字列を 取り出す操作はしていません。 まずは、取り出した2桁の年に / (スラッシュ)でつなげて、 最終的に日付として表示する 文字列の変数に入れています。 次は月ですね。 月を取り出します。 数値です。 しかも、月の場合は、 0 から始まる連番ですので、 月の数字が欲しい場合には、 1 を足さないといけません。 それを String(文字列)にしたうえで、 / を付け加えています。 そして最後に、今度は、日付ですね。 日付はそのままでいいんですが、 やはり、数値は文字列にして、 それをドンドン += で加算していますので、 文字をつなげるという操作になります。 そうして出来上がった文字列は、 年月日の間を / でつないでいます。 その文字列をテキストフィールド、 名前は my_txt と、 名前を付けています。 その text プロパティに設定すれば、 テキストフィールドに、 日付が表示されるということになります。 このうち、まだ手を加えていない 月と日の部分ですね。 ここが1桁であっても、 必ず2桁になるように、 つまり、1桁の場合には、 頭に 0 を付けるという操作です。 まず、今日は日が 、 たまたま、月も日も2桁ですので、 テスト環境を整えたいと思います。 +1 とかが無い、 日のほうから確かめていきましょう。 こういう時は、テスト用に 少しステートメントを書き換えたりします。 コピーして、ペーストして、 そして本来、 必要な方は、 一旦 // で コメントアウトしておきます。 このコメントアウト、 // を外せば元に戻ります。 ここでテスト用の数値、 あえて 1日にしちゃいます。 1 ですね。 では、ちゃんと 1日になったかどうか、 ムービープレビューで確かめておきます。 「制御」>「ムービープレビュー」です。 確かに 1日になっていますね。 1桁です。 これが 01 になれば、 いいということです。 では、 SWF のウィンドウは 閉じましょう。 この、日付の 1 を 01 にするには、 どうしたらいいでしょうか? 考え方は幾つかあります。 でも、4桁の年を2桁にするという処理は、 ここで行っていますね。 日が4桁だったら、簡単ですよね。 どうするかというと、 1000 を足し算すればいいです。 1000 を足し算すると、 1001 になります。 でも、どうせ、 下2桁をとってくるわけですから、 substring メソッドを使って、 頭が 1000 であろうが、 9000 であろうが、関係ありませんね。 そうしたら、この後 全く同じようにして、 下2桁を取り出すことができます。 もっとも、 1000 にする必要もないですね。 100 で十分です。 下2桁に、変な数字が 来なければいいんですから。 最低限、 100 を足せばいい、 ということになります。 そして substring を 使うわけですが、 やはり、ここも変数を 設定することにしましょう。 変数として文字列です。 year_str を年にしましたんで、 ここは date_str にします。 String にして、 この部分を そのまんまとってくるわけですね。 そして、変数を代わりに入れます。 コピーです。 あとは、この年の場合と 同じ処理をしていきます。 date_str = date_str.substring ですが、 もう、ここはコピーを使ってしまいましょう。 コピーしてしまって、ただし、 桁数が違いますので、桁数を変えます。 どういうふうになるかというと、 今、 101 になっているわけですから、 0番目、1番目から2桁ですね。 ですから 、1番目から。 ただし、1番目から2 番目 じゃないですね。 2番目の、この最後の仕切りを考えますので、 1番目から3番目という 指定の仕方になります。 日が2桁になったかどうか、 ムービープレビューで確かめましょう。 「制御」>「ムービープレビュー」です。 日が 01 と表示されましたね。 ですから、この処理で 問題がなかったということです。 今はテスト用の数値 1 を使いましたので、 正しい書き方に戻しましょう。 1 の代わりに my_date.date これを使えばいいですね。 コピーして、ペーストします。 そうしたら、これは、 今、コメントアウトしたステートメントが いらなくなりますので、削除します。 一応、これで問題が起きないかどうか、 確かめておいた方がいいですね。 では、「制御」> 「ムービープレビュー」を見ます。 特にエラーなく表示されれば OK です。 では、残るは月ですね。 月も同じように処理をしましょう。 SWF のウィンドウは閉じます。 日付を文字にした値を入れる変数を 宣言しましょう。 var 宣言で month_str 揃えましょう。 String で型指定をして、 データ型を定め、 この String の部分を、 まんま、持ってくるんですね。 移動です。 そして ; (セミコロン)を打ったら、 ここがなくなってしまいましたので、 変数を代わりに コピーで持っていきます。 そして 100 を足します。 100 を足して 1 を足しますので、 101 になるということですね。 そして substring を とっていきます。 変数を、間違えないようにコピーして、 そして代入ですね。 同じく、変数をそのまま、 そして substring を取り出します。 もっとも、コピーしたほうが早そうですので、 コピーしてしまいましょう。 日付と同じですので、 コピーをします。 では、出来上がりを、 ムービープレビューで確かめましょう。 「制御」>「ムービープレビュー」です。 月も日も2桁ですので、 絶対にエラーがないかというと、 多少の心配が残りますけれども、 処理を同じにしていますので、 問題はないでしょう。 これで出来上がりです。 では、いったん SWF を閉じまして、 おさらいをしましょう。 まず、年の4桁から 下2桁をとってくる時には、 substring で、単純に、 下2桁の位置を指定すれば、 問題なかったです。 今回のポイントは、 1桁しかない場合に2桁にしたい、 1日の場合 01 にしたい、 ということでしたね。 日付のほうで、ご説明を もう1回、仕直しますと、 2桁以上にしてしまえばいいので、 100 を足し算しました。 そうすると、1桁の数字も 3桁になります。 ですから、3桁から下2桁をとってくる、 という考え方にすればいいので、 年の場合と同じように、 substring のメソッドが使えます。 ただし、3桁ですので、 1桁、年とはズレまして、 1 から 3 まで、ということになります。 それらの日付をつなぎ合わせると、 常に年も月も日も2桁で、 / つなぎの日付が 表示されるということになります。 以上が、数字を文字列として扱った時の、 桁揃えの方法です。

基礎から学ぶActionScript 3.0

このコースではFlashのActionScript 3.0を初めて学ぶ方を対象に、ActionScriptの基礎から実際にプログラミングをするところまで学習していきます。簡単なスクリプトによるオブジェクトの操作の仕方から始まり、変数や関数といったプログラミングの基礎、そしてインタラクティブなコンテンツの作成まで詳しく解説いたします。

6時間30分 (49 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月16日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。