• 締切済み

日付の内容が入れ替わる

WinNT4のOS環境に、VB4で作ったプログラムを実行中なのですが、 日付が誤って表示されてしまいます。   ex) 2001/01/13 → 2013/02/01    2001/02/28 → 2028/02/01    西暦下2桁と日が入れ替わる??? 特定のPCでこの現象が起きます。 プログラムではなくて、環境の問題だと思うのですが、 原因が分かる方は教えて下さい。 2000年問題がらみでしょうか? 少ない情報ですがお願いします。

noname#797
noname#797

みんなの回答

  • will-y
  • ベストアンサー率22% (48/214)
回答No.2

いわゆる2001年問題だと思うのですが >2001/01/13 → 2013/02/01 →2013/01/01ではないですか? windowsの地域のプロパティの日付やExcelの書式の日付の表示で "MM/dd/yy"(03/04/97)の形式があります。 その形式で入力されたと判断されてしまうためですよね。

  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

これはプログラム内で西暦を2ケタで指定していることから起きる問題です。 (巷では2001年問題とか言われてます) 詳しくは参考URLに書いてあります。

参考URL:
http://www.asia.microsoft.com/japan/support/kb/articles/J047/9/49.htm

関連するQ&A

  • 2バイトだと62000を越えるので173年分の日付

    2バイトだと62000を越えるので173年分の日付を特定出来るので2バイトの文字1つで西暦二桁と月日を特定したいのですが対応付けるソフトはありますか?只のメモ帳MS-DOS現役なので。

  • 日付が正しく表示されない

    回答をしてくれたお二人にはポイントをあげなくてすいません。 もう少し詳しく説明すると サーバ(Oracle7)→VisualDraiver32→VB4(WinNT4) という構成で、DBの日付を表示する時に たまに日付がおかしくなるのです。 2001/02/04→2004/02/01こんな風に。 そのすぐ後に同じものを検索しても正常なのです。 OracleやVD32の2000年問題がからんでいるのでしょうか? 判る人は教えて下さい。

  • date関数について

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

  • 日付データの西暦・和暦について

    よろしくお願いします。 Vb2005とAccess2003でWinアプリを開発しています。 データベースに日付データを西暦で蓄積して、期間合計を出したりその他の処理を行っていました。 フォーム上にDateTimePikerやMonthCalendarといったユーザーコントロールを配置していますが、これも西暦です。 印刷等もすべて西暦表示で行っています。 これを、すべて和暦にして欲しいと言われたのですが、Accessのデータベースも和暦で日付データを蓄積するのが良いのでしょうか? それとも、フォーム上で和暦で入力されたデータを西暦に変換して蓄積するほうが普通なのでしょうか? 元号が変更になった場合等を考えれば、帳票類も西暦のほうがプログラムの変更(更新)の手間がなく良いような気がするのですが、和暦って結構ニーズがあったりしますでしょうか?(私は経験が浅いのでよくわからず、素朴な疑問です) DateTimePikerの和暦表示については、紹介サイトがあったのですが、MonthCalendarについては和暦表示できるのかわかりませんでした。方法がありましたら教えてください。 日付の西暦・和暦について、アプリケーションを作るうえでのアドバイス等もありましたらあわせてお願い致します。

  • エクセルからバッチファイルの実行についてお尋ねしたいです。

    エクセルからバッチファイルの実行についてお尋ねしたいです。VBAからバッチファイルを実行して、あるアプリケーションを実行しようとしていますが実行できません。どなたか教えてもらえないでしょうか? 環境はXPのOffice2003です。他のPCで同じ環境だとバッチファイルは実行できるのですがこのPCだけ実行できないのです。プログラムの内容としてはあるアプリケーションが立ち上がっていなければバッチファイルでアプリケーションを立ち上げるプログラムになっています。そのバッチファイルがない場合はプログラムから新たに作成します。 バッチファイルがプログラムから立ち上がらない不具合がネットであがっていましたが原因としてはバッチファイルの中身がカレントディレクトリの変更を行っていないためVBAから実行できないという現象でした。なので、バッチファイルを直接ダブルクリックすると実行できますがVBAからは実行できないのです。 しかし今回は、バッチファイルの中身はカレントディレクトリの変更を行っていますし他のPCで同じ環境で行うと実行できるのでバッチファイルの中身は問題ないと予測しております。なのでその特定のPCのみ起きている現象だと考えています。 そのため何らかの設定の問題かOSのシステムになにか不具合ががあるのではないかと思っています。どなたか少しでも原因と考えられることがあれば教えてもらえないでしょうか?なんでもよろしいのでお願いします。

  • 日付けの数字と文字の比較

    いつもお世話になっています。 またまたですが、エクセル2010で日付から作成される文書Noと作成時の日付けを付き合わせて間違っていたらエクセルの書式で文書Noを赤字にしたいのですが。 文書Noの先頭の4文字は西暦の下2桁と月(2017年3月なら1703****)をいうルールで作成することになっているのですが、たまに年数を間違えることが発生します。 間違えてしまうと文書の時系列が変わってしまうので大きな問題になります。 そこで、TODAY()関数を使って特定のセルに1703を表示させることまでは出来て、これと入力された文書Noの先頭から4文字を指定する「LEFT」を使って1703と表示させることまでは出来たのですが、この2つのセルの照合方法が分かりません。 恐らく、日付けは数字で、文書Noは文字で入っているのが原因だと思うのですが、日付けを文字や数字にするとコードの数字(文字)になってしまうので=if(A1=B1,。。。)というような式が成立しないことが分かりました。 どなたか助けてください。

  • 日付・時刻が進まない

    WidowsXPですが、日付・時刻は正常に修正できます。PCをシャットダウンするまでは正常に時刻は進みますが、シャットダウンしてから、再度立ち上げ時に、日付と時刻はシャットダウン時の日付・時刻からスタートしてしまいます。この現象は、スタンバイでも同様です。 秋葉原で買った中古のPCなので電池かもしれないと思いましたが、電池の場合、特定の日付・時刻に戻ってしまうということのようで、他の原因ではないかと思っています。 どなたか、教えてください。

  • VBで今日の日付を条件に照らして評価したい

    こんばんは VBをせこせこ書いているのですが、躓いて分からないところがあります。 たとえば、その日の Day が 15日よりも前か後かを判定するにはどうすればよいのでしょうか? 日付を比較したり足したり引いたりする関数はわかるのですが、日数を比較する方法がわかりません。 例えば、今日は6月11日です。11日は15日より前なのでTrue、このプログラムをを6月16日の時点で実行するとFalseが返るといった具合です。特定の年・月とは無関係で、日だけをチェックしたいと考えています。 どのように記述したらよいでしょうか?教えてください。

  • Excelの日付書式について

    Excelの日付書式についての質問です。 使用環境 OS:Windows7 Professional Office :Excel 2013 Excelを使っていて、 いつの間にか、日付の書式が変わってしまった現象が出ました。 今までは、 2015/04/23という書式が 2015 04 23になっています。 ※/(スラッシュ)が、スペースになっている。 現象のスクリーンショット画像を添付しておきますので どなたかこの現象を元に戻す方法を知っていれば教えてください。 よろしくお願いします。

  • Shupapan(リネームソフト)にて、西暦を下2桁で表示するには?

    Shupapan(Ver5.7.3)にて、ファイル名をEXIFデータの日付にリネームする際、 西暦を「下2桁表示」にしたいのですが、やり方が解らず困っています。 プロセスとして、 書式>メニューの編集>新規項目 まで至った後に、打ち込むべきコマンドが解りません。 欄内上部に、 記号の意味:<#dy:2> = 年(下2桁) との注釈があるので、西暦の位置に<#dy:2> と打ち込んで実行してみましたが、サッパリ。 環境は、インテルマックOSX10.4です。

    • ベストアンサー
    • Mac