| 00308 00/12/20 20:06 | RE:00255 "getdate で取得した日付の一週間前の日付が欲しい"教えて |
| 投稿者 : iceaxs | コメントを投稿する |
iceaxsです。 いつもお世話になっております。 すみません。ご質問です。 何日前の日付を算出したくて検索していたら、 以前に同じようなことで、質問があったのですが、 こちらの使い方が良く分からなかったので、教えてください。 また、私はスクリプトを起動時に自動的にPCの日付を元に、 1日前の日付を算出しその結果を元にいろいろ加工していきたいと 考えているのですが、なにか参考となるスクリプトがありましたら、 教えてください。 よろしくお願いします。 >こんにちは, とほほさん. > >以前作成したスクリプトからいかのものを発見しました >のでご参考まで > >使い方は > >call CalDate "000101", "1" > >message #return > >みたいな感じです. > >メッセージボックスに > >991231 > >が表示されます > > > >;ここから > > >;************ 日付の計算 ********* >; 渡された日数分さかのぼった日付を返す >; 閏年と2000年以降にも一応対応 > >CalDate: > datetolinear(#1), ##target0 > ##target = ##target0 - value(#2) > #year = part(#1, 0, 2) > datetolinear(#year + "0101"), ##gantan > ##year = value(#year) > >CalDateSub: > ##day = ##target - ##gantan > ;##day=1/1から何日経過しているか > > switch ##year > case 96, 92, 88, 84, 80, 0, 4, 8, 12 > ##add = 1 > case default > ##add = 0 > endswitch > > if(##day<0) > ##year = ##year - 1 > if(##year<0) > ##year = ##year + 100 > endif > switch ##year > case 96, 92, 88, 84, 80, 0, 4, 8, 12 > ##backdays = 366 > case default > ##backdays = 365 > endswitch > ##gantan = ##gantan - ##backdays > goto CalDateSub > elseif(##day<31) > #month = "01" > elseif(##day<59 + ##add) > #month = "02" > elseif(##day<90 + ##add) > #month = "03" > elseif(##day<120 + ##add) > #month = "04" > elseif(##day<151 + ##add) > #month = "05" > elseif(##day<181 + ##add) > #month = "06" > elseif(##day<212 + ##add) > #month = "07" > elseif(##day<243 + ##add) > #month = "08" > elseif(##day<273 + ##add) > #month = "09" > elseif(##day<304 + ##add) > #month = "10" > elseif(##day<334 + ##add) > #month = "11" > else > #month = "12" > endif > > if(##year<10) > #year == "0" + ##year > else > #year == ##year > endif > > datetolinear(#year + #month + "01"), ##target0 > > ##day = ##target - ##target0 + 1 > > if(##day<10) > #day = "0" + ##day > else > #day = ##day > endif > #target == #year + #month + #day >return #target > > > >;ここまで > > > > >よこしま > >Send 00/01/11 > |
| 新規に投稿する |