DateTime関連と終了時間タイマーを表示させる



※html内にスクリプトを記述するため改行が無駄に入ってる場合があります。
どこの改行がしてはいけないのか理解できない方は残念ながら
このページに記述したものは利用できないと思いますので諦めてください。

.netでのデートタイムの使い方をおさらいします。

年を表示させるには
Dim year As String = DateTime.Now.ToString("yy")
月を表示させるには
Dim month As String = DateTime.Now.ToString("MM")
日を表示させるには
Dim day As String = DateTime.Now.ToString("dd")
時を表示させるには(時間と分と秒です)
Dim time As String = DateTime.Now.ToString("HHmmss")
年月日だけ表示させるなら
Dim ThisYear As DateTime = DateTime.Now.ToShortDateString

全ての年月日時分秒を同時に得るには
Dim DayTmp As DateTime = DateTime.Now()
または
Dim DayTmp As String = DateTime.Today.ToString で済みます。

ついでに終了までのカウントダウンを表示する方法です
例えばデータベースにオークションの終了時間が登録してあります。
それを呼び出してLiteralに表示します。
EndTimeTex.Text = EndTimeChenge(WebDataReader("endTime"))
↑この行で終了時間を呼び出しています。
EndTimeChengeは終了時間を過ぎていれば「終了」を返します
ファンクションの例は以下です。

Function EndTimeChenge(ByVal TimeCenge As String) As String
Dim time As DateTime = TimeCenge
If time < DateTime.Now() Then
Return "<span style=color:Red;font-weight:bold;>★終了しました</span>"
Else
Return TimeCenge
End If
End Function
ここまでがファンクションの例です。

ここでは終了時間が通常のデイトタイムで一行で収納されてしまっているので
それぞれをレフト・ライトの組み合わせで分解し、
ページ内のjavascriptへリテラルで内容を渡しています。
Dim iTMP As String
Dim i As Integer = 0
i = Left(WebDataReader("endTime"), 4)
nannen.Text = "var nannen = " & i & ";"
i = Right(Left(WebDataReader("endTime"), 7), 2)
nangatsu.Text = "var nangatsu = " & i & ";"
i = Right(Left(WebDataReader("endTime"), 10), 2)
nannichi.Text = "var nannichi = " & i & ";"
iTMP = Right(Left(WebDataReader("endTime"), 13), 2)
i = iTMP.Replace(":", "")
nanji.Text = "var nanji = " & i & ";"
i = Left(Right(WebDataReader("endTime"), 5), 2)
nanpun.Text = "var nanpun = " & i & ";"
i = Right(WebDataReader("endTime"), 2)
nanbyou.Text = "var nanbyou = " & i & ";"
それぞれリテラルの名前が何年・何月・何時・何分・何秒と
なっているのでなんとなく理解しやすいと思います。

javascript内にはリテラルが配置されているので、
直接プロパティとしてjavascriptのカウントダウンタイマーに
残り時間を渡せます。実際には以下のようなものです
<asp:Literal ID ="nannen" runat="server" />
<asp:Literal ID ="nangatsu" runat="server" />
<asp:Literal ID ="nannichi" runat="server" />
<asp:Literal ID ="nanji" runat="server" />
<asp:Literal ID ="nanpun" runat="server" />
<asp:Literal ID ="nanbyou" runat="server" />
上段の何年・何月・何時・何分・何秒と同じである事が確認できますね

あとはカウントダウンタイマーをjavascriptで組むだけです。

記事id:69 / 3976PV

関連記事