日付・日付文字列6桁・日付値取得

オープンソース形式でコードを共有するフォーラムです。お役立ちコード、あなたも投稿してみませんか?
返信する
メッセージ
作成者
まっ
記事: 18
登録日時: 2008年2月17日(日) 18:55

日付・日付文字列6桁・日付値取得

#1 投稿記事 by まっ »

''''' DateString6Value 日付・日付文字列6桁・日付値取得
Function ZDTES6V(ZDTE as string) as long
Dim ZYAR as long , ZMON as long , ZDAY as long , ZDDC as long , ZURU as long , ZVAL as long
ZVAL=Val(ZDTE) : ZYAR=Int(ZVAL/10000) : ZVAL=ZVAL-(ZYAR*10000) : ZMON=Int(ZVAL/100) : ZDAY=ZVAL-(ZMON*100)
ZVAL=Int((ZYAR-1)/4) : ZDDC=ZVAL*1461 : ZVAL=ZYAR-(ZVAL*4) : ZDDC=ZDDC+((ZVAL-1)*365) : ZURU=0 : If ZVAL=4 then ZURU=1
If ZMON>1 then ZDDC=ZDDC+31 : If ZMON>2 then ZDDC=ZDDC+28+ZURU : If ZMON>3 then ZDDC=ZDDC+31 : If ZMON>4 then ZDDC=ZDDC+30 : If ZMON>5 then ZDDC=ZDDC+31 : If ZMON>6 then ZDDC=ZDDC+30 : If ZMON>7 then ZDDC=ZDDC+31 : If ZMON>8 then ZDDC=ZDDC+31 : If ZMON>9 then ZDDC=ZDDC+30 : If ZMON>10 then ZDDC=ZDDC+31 : If ZMON>11 then ZDDC=ZDDC+30
ZDTES6V=36891+ZDDC+ZDAY
End Function

戻値 ZDTES6V
だいたいのWindowsソフトで共通の日付値です。と思います。エクセルで検証しました。

引数 ZDTE
yymmdd の6桁の文字列で固定です。2000年以降の年しか考慮していません。
~Ptrの使い方がイマイチ勉強不足で string型 を使用してます。カンベンして。

西暦で
通常は年365日。4で割れる年は366日。100で割れる年は365日。400で割れる年は366日。。。だったと思う。

と思います。が多くてすいません。だいぶ前に作ったので多少のコメント違いはあるかもしれませんが、コードは現在進行形で使用中ですので間違いは無いと思います。と思います。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

codeタグとhideタグを組み合わせれば、きれいに表示できますよ。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
返信する