過去の桐井戸端BBS (桐ver.8)
15764 文字列の変数を日付の変数に代入したい ウスイ 2002/04/19-11:19
いつも助けて頂きありがとうございます。
大変申し訳ないのですがまたわからないことが有るのでお助け願います。
文字列型の変数に入っている文字を(020401)
日付型の変数に(2002年04月01日)代入したいのですが
どのようにすればできますか?
宜しくお願い致します。
15770 Re:文字列の変数を日付の変数に代入 masa 2002/04/19-15:08
記事番号15764へのコメント
ウスイさん こんにちは。

計算式で

#文字列(#条件選択(#数値(#部分列( &変数 , 1 , 2 ))>70,1900+ #数値(#部分列( &変数 , 1 , 2 )),1,2000+ #数値(#部分列( &変数 , 1 , 2 ))))+”年”+
#部分列( &変数 , 3 , 2 )+”月”+
#部分列( &変数 , 5 , 2 )+”日”

これでは文字列だからだめでしょうか?
(70は西暦下2桁なので2071年以降や1969年以前は数字をかえなければいけませんが・・・)

15771 Re:日時型のデータ記述法 Ogo 2002/04/19-15:18
記事番号15770へのコメント

>これでは文字列だからだめでしょうか?

日時型のデータ記述方法はリファレンス「表編集」のP412を参照します。

日時型の変数には d"0000/00/00" という様式でないと値を代入できません。



15772 Re:日時型のデータ記述法 masa 2002/04/19-15:40
記事番号15771へのコメント
Ogoさん こんにちは

>日時型の変数には d"0000/00/00" という様式でないと
>値を代入できません。


計算式で

"d"+""""+#文字列(#条件選択(#数値(#部分列( &変数 , 1 , 2 ))>70,1900+ #数値(#部分列( &変数 , 1 , 2 )),1,2000+ #数値(#部分列( &変数 , 1 , 2 ))))+”年”+
#部分列( &変数 , 3 , 2 )+”月”+
#部分列( &変数 , 5 , 2 )+”日”+""""

だといいでしょうか?
長い式になりましたが、もっと簡単な方法があるかも知れませんが、私はこれしか思いつきませんでした。

15774 Re:日時値生成 bonito 2002/04/19-16:29
記事番号15772へのコメント
代入 &日時の日付=\
   #日時値生成(2000+#NUM(#部分列([文字の日付],1,2))\
   ,#NUM(#部分列([文字の日付],3,2))\
   ,#NUM(#部分列([文字の日付],5,2)))
ではどうですか?

ただしmasaさんの
>#条件選択(#数値(#部分列( &変数 , 1 , 2 ))>70
にあるように2000年以前か以降かの判断も必要かも知れませんが
この場合は単に2000年を足してお茶を濁して置きました。 (^^;
(ただmasaさんにとって何で1970年が基準になるのかは不明ですが)

未来の(来年以降の)日付を扱わないのなら
2000の部分をそっくり
#条件選択(2000+#NUM(#部分列([文字の日付],1,2))>&年,1900,1,2000)
というのもありか? (ないか?)

いずれにせよ2桁の西暦年というのはデータとして不完全という事ね。


15775 Re:日時値生成 訂正 bonito 2002/04/19-16:35
記事番号15774へのコメント
済みません間違えました
項目値でなく変数でしたね (^^; 

誤 [文字の日付]
正 &文字の日付

戻る