FormatDateへのお願いNo.08100
styth さん 21/05/01 14:40
 
$date = dllfuncstr("FormatDate", date, "YY/MM/DD(W)");
message $date;
$date = dllfuncstr("FormatDate", leftstr(date, 8), "YY/MM/DD(W)");
message $date;
$date = dllfuncstr("FormatDate", "210501", "YY/MM/DD(W)");
message $date;

 上記マクロを実行すると、
 05/01/21(木)
 05/01/21(金)
 93/01/01(日)

 と、表示されます。
 いずれも
 21/05/01(土)

 とは、できないですか?
 よろしくお願いいたします。

 CurrentDateを使えば、今日の日付には対応できますが、使いたい機能は
FormatDateの方でです。

[ ]
RE:08100 FormatDateへのお願いNo.08101
h-tom さん 21/05/01 19:34
 
h-tom です。

>FormatDateの方でです。

FormatDate関数のヘルプには以下の記述かあります。
> FormatDate関数は、メール中の「Date:」ヘッダに入っている日付文字列を、
> CurrentDate関数と同じようなフォーマットを使った文字列形式に変換します。
ということで、パラメータ1に「Date:ヘッダ」のフォーマットで任意日付を指定すれ
ばいいのでは?

[ ]
RE:08101 FormatDateへのお願いNo.08103
styth さん 21/05/02 07:00
 
>ということで、パラメータ1に「Date:ヘッダ」のフォーマットで任意日付を指定す
>ればいいのでは?
 申し忘れました。
 使っているのは、秀丸エディタの方です。よろしくお願いいたします。

[ ]
RE:08103 FormatDateへのお願いNo.08104
h-tom さん 21/05/02 08:07
 
h-tom です。

> 使っているのは、秀丸エディタの方です。よろしくお願いいたします。
FormatDate関数が要求しているのは、"Sat, 01 May 2021 14:40:00 +0900"という、
「Dateヘッダ」の規定に従った文字列で、「dateキーワード」の内容とは一致しませ
ん。

任意の日付を "Sat, 01 May 2021 14:40:00 +0900" という形式の文字列に変換して
渡してやれば、
変換可能ということです。ちなみに、曜日と","は省略できます。

[ ]
RE:08104 FormatDateへのお願いNo.08105
styth さん 21/05/02 16:23
 
秀まるお2 さんへ

>任意の日付を "Sat, 01 May 2021 14:40:00 +0900" という形式の文字列に変換して
>渡してやれば、
>変換可能ということです。ちなみに、曜日と","は省略できます。
 そうする手間を省きたいので、要望した次第です。

[ ]
RE:08105 FormatDateへのお願いNo.08106
秀まるお2 さん 21/05/02 22:18
 
 FormatDate関数の第1パラメータはDate:ヘッダの形式にしてもらうのが基本では
ありますが、そもそも的に秀丸メールはDate:ヘッダがある程度イレギュラーでも適
当に解釈するようにしてるので、例えば

    loaddll "tkinfo.dll";
    $date = dllfuncstr("FormatDate", "2021/05/01 11:00", "YY/MM/DD(W) hh:mm");
    message $date;

 みたいにYYYY/MM/DD みたいな形式になってればうまく解釈します。その作戦でど
うでしょうか。例えば

    $input = year + "/" + month + "/" + day;
    $date = dllfuncstr("FormatDate", $input, "YY/MM/DD(W)");

 みたいな感じで。

[ ]
RE:08106 FormatDateへのお願いNo.08107
styth さん 21/05/03 07:17
 
> みたいにYYYY/MM/DD みたいな形式になってればうまく解釈します。その作戦でど
>うでしょうか。例えば
 わかりました。しばらく、これで使ってみます。
 ありがとうございます。

[ ]