最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

14.20.MMDDYYをYYMMDDにするトリック

[ Previous ] [ HOME ] [ Upper ] [ Next ]


MDYをYMDに変換する、古くからの、tips(トリック)をご説明しましょう。

MMDDYY * 10000.01 = YYMMDDというものです。最後のフィールドは、6桁の整数フィールド出なくてはいけません。これは、以下のように証明できます。

   MMDDYY * 10000.01

= MMDDYY * (10000 + 0.01)

= (MMDDYY * 10000 ) + (MMDDYY * 0.01)

= MMDDYY0000 + MMDD.YY

= MMDDYYMMDD.YY

= YYMMDD(6桁の整数フィールド)

というわけですね。

もし、MMDDYYYYをYYYYMMDDにする場合は、どうするのでしょう?それは、各自お考え下さいませ。YYMMDDからMMDDYYも、出来そうですね。上記の証明を、下から辿ると、わかりやすいかもしれません。

この方法が、非難の対象になるのは、多分、知らない人にとっては、未知の係数となり、ロジックが不鮮明になるからだと思います。利用する場合、あなたの会社の全ての関係者が、このトリックを知っているべきでしょう。

追記

YYMMDDをMMDDYYにする場合(最後は6桁整数に切り捨て)

   MMDDYY

= YYMMDDYY.MMDD

= YYMMDD00 + YY.MMDD

= YYMMDD (100 + 0.0001)

= YYMMDD * 100.0001

MMDDYYYYをYYYYMMDDにする場合(最後は8桁整数に切り捨て)

   YYYYMMDD

= MMDDYYYYMMDD.YYYY

= MMDDYYYY0000 + MMDD.YYYY

= (MMDDYYYY * 10000) + (MMDDYYYY * 0.0001)

= MMDDYYYY( 10000 + 0.0001)

= MMDDYYYY * 10000.0001

YYYYMMDDをMMDDYYYYにする場合(最後は8桁整数に切り捨て)

   MMDDYYYY

= YYYYMMDDYYYY.MMDD

= YYYYMMDD0000 + YYYY.MMDD

= (YYYYMMDD * 10000) + (YYYYMMDD * 0.0001)

= YYYYMMDD (10000 + 0.0001)

= YYYYMMDD * 10000.0001

最後のトリックは、同じですね。なぜだか分かりますか。そうです、[YYYY][MMDD]の順番を変えて、[MMDD][YYYY]にするだけならば、前4桁と、後ろ4桁の交換にすぎないのですね。勿論、8桁に切り捨てた場合の事ですよ。

参考ページ

1998/10/15


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送