• ベストアンサー

date関数について

date関数は「現在のシステムの日付を返す」とありますが、 システムの日付は[設定]-[コントロールパネル]-[地域のオプション]でしか変えることができないのでしょうか。 また、OSの問題かどうかわからないのですが、windowsNTサーバではその設定を変えることによって、 dete関数で西暦を2桁にしたり4桁にしたり可能なのですが、 windows2000サーバではそこの設定をしても、システムの日付は西暦4桁のままなのです。 どうしても、西暦2桁をとりたいのですが、どうにかならないものでしょうか。 ちなみに、FormatDateTime関数も試しましたが、ダメでした・・・。

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

  • ベストアンサー
  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.3

VbScriptでFormat関数は実装されていませんので、 組み合わせてやるしかないと思いますよ。 Year関数を使用すれば、間違いなく4桁になるので下2桁を取得すればエラーにはなりません。 年 … Right(Year(FormatDateTime(Date)), 2) 月 … Month(FormatDateTime(Date)) 日 … Day(FormatDateTime(Date))

snowsaab
質問者

お礼

なるほどですね! 試してみたところ、Year関数では間違いなく4桁でした(当たり前ですけど(^^;) ありがとうございましたm(__)m これからは、ちゃんとそこまで考えてから作ることにします。 いい教訓になりました。

その他の回答 (3)

  • mann555
  • ベストアンサー率46% (29/62)
回答No.4

システム日付の [設定]-[コントロールパネル]-[地域のオプション]-短い形式が 「 YY/MM/DD 」になっていますか? なっていれば FormatDateTime関数でvbShortDateをしてすれば 西暦2桁になります。 それでも駄目なら Right(Year(now),2) & "/" & Right("0" & Month(now),2) & "/" & Right("0" & Day(now),2) の様に自分でするしかないかと思います

snowsaab
質問者

お礼

はい(;。; 短い形式は[yy/mm/dd]としていますがダメでした。 やはり、 Right(Year(now),2) & "/" & Right("0" & Month(now),2) & "/" & Right("0" & Day(now),2) ですることにします。 ありがとうございましたm(__)m

  • SENAS
  • ベストアンサー率40% (11/27)
回答No.2

こっちの環境では使えるんですけど・・・・ 何か違うんですかね?^^; 勉強不足ですいませんm(_ _)m

snowsaab
質問者

補足

いえいえ、こちらこそまだまだ勉強不足で全然わかんないものですから・・・m(__)m 参考までにご使用されている環境を教えていただいてもよろしいですか?

  • SENAS
  • ベストアンサー率40% (11/27)
回答No.1

ただ二桁の西暦を取りたいのであれがFormat関数が使えると思いますよ。(ちなみにVBSを使ってればですけどね) たとえば02/12/11のようにしたいのであれば Format(Now,"yy/mm/dd")で出来ると思います。

snowsaab
質問者

補足

VBSとはVBscriptのことですか(・。・? そうでしたら、VBScriptではFormat関数が使えないようですが・・・。

関連するQ&A