-PR-
解決済み

Nowで分を取得しようとしたら月になる?

  • すぐに回答を!
  • 質問No.28753
  • 閲覧数51
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 74% (60/81)

よろしくおねがいします。

<% ydate = datepart("yyyy",now)
mdate = datepart("m",now)
ddate = datepart("d",now)
htime = datepart("h",now)
mtime = datepart("m",now)
stime = datepart("s",now) %>

このように現在の年月日時分秒を設定し、

今日は<%= ydate %>年 <%= mdate %>月<%= ddate %>日です
 時刻は<%= htime %>:<%= mtime %>:<%= stime %>です

とロジックを組んだところ、10時26分現在、

 今日は2001年 1月16日です 時刻は10:1:36です

と出力されました。どうもmtimeがmdateと同じ値、つまり”1月”が
入ってしまっているようなのです。
回避策として、

 <% mtime = datepart("m",time) %>

と、分だけNowではなくtimeで取るようにしました。結果

 今日は2001年 1月16日です 時刻は10:26:36です

と出力されました。
さて、どうしてNowのときは分が正しく認識されなかったのでしょう?
timeを使用したほうが常にいいのでしょうか?

VBSの常套手段をまだ身につけていないので、この現象に対する解説、
最善策など教えていただきたいとおもい、質問を挙げました。

よろしくお願いいたします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル4

ベストアンサー率 100% (2/2)

私の見たマニュアル(名前は忘れましたが)datepartの第一パラメタの説明
として分の場合は"n"とありました。
ちなみに月は"m"でした。ご覧になった文献の誤植だったのかもしれませんね。
お礼コメント
snowair

お礼率 74% (60/81)

ありがとうございました。
文献のバグのようですね。
初心者なので基本的な項目にまちがいがあると
きついです(^-^;
投稿日時 - 2001-01-16 11:46:32
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル4

ベストアンサー率 100% (2/2)

datepartの第一パラメタに月の場合も分の場合も"m"を指定していますよね。
分を取得したい場合は確か"n"だったような。
補足コメント
snowair

お礼率 74% (60/81)

たしかに"n"でやるとうまくいきました。
ありがとうございます。
ちなみに"m"としていたのは参考文献そのまま、文献のバグだったのでしょうか?
解釈として、月と分で"m"でかち合っていた場合、先に定義された月が優先され、
分も月の値が入った、それを避けるために分は"n"にする 
ということでしょうか?

また、べつに"n"ではなくてもいいのでしょうか?

またおしえてください。よろしくおねがいします。

ついでに、やっぱりtimeでやっても現在の時刻の取得にはなってなかったようでした。
投稿日時 - 2001-01-16 11:07:24


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ