- ベストアンサー
date関数について
date関数は「現在のシステムの日付を返す」とありますが、 システムの日付は[設定]-[コントロールパネル]-[地域のオプション]でしか変えることができないのでしょうか。 また、OSの問題かどうかわからないのですが、windowsNTサーバではその設定を変えることによって、 dete関数で西暦を2桁にしたり4桁にしたり可能なのですが、 windows2000サーバではそこの設定をしても、システムの日付は西暦4桁のままなのです。 どうしても、西暦2桁をとりたいのですが、どうにかならないものでしょうか。 ちなみに、FormatDateTime関数も試しましたが、ダメでした・・・。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
VbScriptでFormat関数は実装されていませんので、 組み合わせてやるしかないと思いますよ。 Year関数を使用すれば、間違いなく4桁になるので下2桁を取得すればエラーにはなりません。 年 … Right(Year(FormatDateTime(Date)), 2) 月 … Month(FormatDateTime(Date)) 日 … Day(FormatDateTime(Date))
その他の回答 (3)
- mann555
- ベストアンサー率46% (29/62)
システム日付の [設定]-[コントロールパネル]-[地域のオプション]-短い形式が 「 YY/MM/DD 」になっていますか? なっていれば FormatDateTime関数でvbShortDateをしてすれば 西暦2桁になります。 それでも駄目なら Right(Year(now),2) & "/" & Right("0" & Month(now),2) & "/" & Right("0" & Day(now),2) の様に自分でするしかないかと思います
お礼
はい(;。; 短い形式は[yy/mm/dd]としていますがダメでした。 やはり、 Right(Year(now),2) & "/" & Right("0" & Month(now),2) & "/" & Right("0" & Day(now),2) ですることにします。 ありがとうございましたm(__)m
- SENAS
- ベストアンサー率40% (11/27)
こっちの環境では使えるんですけど・・・・ 何か違うんですかね?^^; 勉強不足ですいませんm(_ _)m
補足
いえいえ、こちらこそまだまだ勉強不足で全然わかんないものですから・・・m(__)m 参考までにご使用されている環境を教えていただいてもよろしいですか?
- SENAS
- ベストアンサー率40% (11/27)
ただ二桁の西暦を取りたいのであれがFormat関数が使えると思いますよ。(ちなみにVBSを使ってればですけどね) たとえば02/12/11のようにしたいのであれば Format(Now,"yy/mm/dd")で出来ると思います。
補足
VBSとはVBscriptのことですか(・。・? そうでしたら、VBScriptではFormat関数が使えないようですが・・・。
お礼
なるほどですね! 試してみたところ、Year関数では間違いなく4桁でした(当たり前ですけど(^^;) ありがとうございましたm(__)m これからは、ちゃんとそこまで考えてから作ることにします。 いい教訓になりました。