• ベストアンサー

日付・時間の表示変換について

VB2010Expressを使用しています。 あるCSVからADOを使用してデータを取得し、Accessに転載しているのですが、そのデータで日付と時間のフィールドがあるのですが各々8bit表示(『2012/04/02』→『20120402』・『12:32:50』→『123250』・『8:30:00』→『83000』)なので逆の変換をしたいです。 色々調べたのですが(Format等)、うまくいきません。ご教授お願いします。

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

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

8bit表示? 1bitは0と1の2値しか表現できないのでは? 8bitだと256までしか表現できないのでは。 数字の8桁の事を言ってるのですか? 100で割った余りを2回取り出せば年月日か時分秒の各要素が 取れるでしょう。レベル的には中学生の算数でできそうです。 余りを求める演算子もあるけど、100で割った整数を100倍して もとの数から引けばその差が余りです。 この方法だと、四則演算を知っていればできますから、 小学生でもできるプログラムになりますね。 他にも文字列として扱って2桁ごとに年月日ならスラッシュ 時分秒ならコロンを挟んで日付型に型変換でもできそうです。 どちらも基礎的な文法のみでプログラミングできます。

Alshark
質問者

お礼

ありがとうございます。 よくよく考えればそのようにコーディングすれば基礎文法のみで可能でした。 初めての表記だったので焦ってました。 『8bit表示』というのは、うちの事業所に出入りしているSEさんがそのように言っていたのでそうなのかなって思ってました(苦笑)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB2010で時刻表記変換

    独学でVB2010Expressを使用しています。 あるCSVからADOを使用してデータを取得し、Accessに転載しているのですが、そのデータで日付と時間のフィールドがあるのですが各々以下のような表示(『2012/04/02』の場合→『20120402』、『12:32:50』の場合→『123250』)なので逆の変換をした上で『2012/04/02 12:32:50』とAccessに格納したいのですが『StringからDoubleに変換できません』的なエラーが出てしまします?(全部String型のつもりなんですが) 色々調べたのですが、うまくいきません。ご教授お願いします。 下記のコードはデータテーブル(DT)に変換前の『日』・『時刻』値をを格納したものを使用しています。 iはFOR NEXTでループさせています。 OleCmd.Parameters.Add("@DateTime", SqlDbType.Date).Value OleCmd.Parameters("@DateTime").Value = Date.Parse(CInt(DT.Rows(i)("日")).ToString("0000/00/00")) + " " + CInt(DT.Rows(i)("時刻")) \ 10000 + ":" + (CInt(DT.Rows(i)("時刻")) Mod 10000) \ 100.ToString("00") + ":" + (CInt(DT.Rows(i)("時刻")) Mod 10000) Mod 100.ToString("00")

  • 日付の変換

    VB6.0を使用しています。 例えば、020810という日付を20020810と、980810という日付は19989810に変換したいのですが、良い方法が思いつきません。 どなたか助けて下さい。 よろしくお願い致します。

  • 他のPCの日付・時刻の取得

    複数台のPCからAccessデータベースに 接続して書き込むプログラムをVBで作成していますが 共通の日付時刻を取得したいのですが可能でしょうか? 1.データベース(Access2000)で日付を取得 2・データベースファイルがあるPCの日付時刻を取得 データベースに日付をもっているとは思えないので「2」の方法に なると思うのですが、、どちらでも構いませんし別の方法があれば 教えて下さい。 VB6 SP5 ACCESS 2000(ADO2.5,DAO3.6)

  • Access format関数を使わず日付を変換

    Access2016で、あるテーブルからクエリを作成して日付フィールド(西暦/月/日)を(西暦/年)のようにさせたいのですが、以下のようにformat関数を入力して実行すると完了するまでに非常に長い時間がかかってしまい困っています。 別の方法で処理をしたいのですが、ご存知の方いらっしゃるでしょうか。 SQLとかは使わず、初心者でも後から解読・編集できるような方法があればありがたいです。 元となるテーブルのデータ型は都合上変えられません。 フィールド名 日付 データ型 日付/時刻型 データサンプル 2024/2/27 クエリでやりたいこと 元のテーブルのデータを日別ではなく月別で集計したいため、 日付データを 年/月/日 ではなく 年/月 に変換したい ※同月のデータを同一の値に変換できさえすれば合計できるので、表示される形式は「2024/2」でも「2024年2月」でも「202402」でも構いません。 今回入力した式 「年月:format([日付],"yyyy/mm")」 以上、よろしくお願いします。

  • アクセスで日付の表示

    アクセスのフォーム表示で困っています そのフォームはあるテーブルをデータソースにしています そのテーブルのあるフィールドが 日付型で定義されていますが 困っていることは、00:00:00、とゼロで入っているため 99-12-30、と表示されます こんな時、ブランクで表示するにはどうすればいいでしょうか 現在は書式:に、日付(M)、のフォーマットを使っています よろしくお願いします

  • エクセルの日付データの変換

    あるDBからデータを抜いてCSVに落としてAccessにインポートしようとしていますが、日付のデータが、普通1970/2/28というシリアルデータを表示形式で「昭和45年2月28日」と表示しているところが、「昭和45年2月28日」という文字データそのままになっています。 なんとか日付のシリアル値に変換したいのですが・・・ ちなみにdatevalue関数を使用しても元が単なる文字列ですから、もちろんシリアル値なんか出ません。

  • Officeアクセス テーブル「テキスト型」⇒「日付型」への変換について

    テーブルにデータが保管されており、そのフィールドの一つに「テキスト型」で”20080301”のようなデータを持っています。これを「日付/時刻型」”2008/03/01”のように変換したいのですが、どのようにすればよいのでしょうか。 ※ちなみにこのオリジナルデータは毎日、自動的にテーブルにダウンロードされており、このテーブル自体の型を予め「日付/時刻型」に変換すると、日々のデータ取得時にエラーとなってしまいます。ですので、「日付/時刻型」のフィールドを持った新規のテーブルに、この”20080301”のデータを変換し格納したいのですがどのようにすればよろしいでしょうか。 テーブル⇒デザインより、該当のフィールドの型を「テキスト型」⇒「日付/時刻型」へ直接変換してしまうと、「データの変換中にエラーが発生しました。○○件のレコードのデータが失われました。」と表示されます。素人のため、なるべく追加クエリや更新クエリや簡単な関数のみでの方法を教えていただけたら幸いです。

  • Accessの日付/時刻型のデータ変換について

    Accessで日付/時刻型で持っているデータを整数型に変換したいと思っておりますがうまくいきません。 日付/時刻型の「時刻(S)」でテーブル上にデータを入れています。これを整数に変換したいと思っています。 例)10:20 → 1020 そこで、 CInt([変換したいフィールド名]) をクエリで実行してみたのですが、結果は「0」、「1」、「#エラー」が表示され、変換したい形に変換することができませんでした。 どのようにしたら、例にある変換の仕方ができるのか教えて頂けますでしょうか。宜しくお願いいたします。

  • 日付がインポートされない

    csvファイルをAccessにインポートしようとしたところ日付だけ取り込まれませんでした。 csvファイルの中身を見てみると日付のフィールドが 8/2/2002 1:08:11 PM のように入っていました。 それが原因だと思いますがなんとかこの日付を取り込む方法はないでしょうか?

  • Accessテキスト日付変換

    NASのアクセスログを管理するDBを作成しておりますが、日付が下記形式となってます、日付型・日時型に簡単に変換する方法はありますでしょうか? ログ日付項目 Jan 15 16:50:03 一連の処理 1、NASのログファイルを、秀丸エディタで、CSV出力できるようマクロで整形保存 2、Accessでログ整形CSVファイルを、インポート ただし、ログの日付が、上記のテキストで吐き出されており、Access上で日付・時間として取扱いできません。 エクセルで、ログ整形csvを読み込むと自動で日付型として認識しますが、残念ながらAccessでは、日付型として認識してくれません。 簡単に変換できる方法があればご教授ください。