[前の記事]« ボタンを押す動きをバッチファイルに書きたい
[次の記事]バッチファイル内で数値の計算は可能? »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「DATE,TIME…日付、時刻の取得/利用」索引へ

1ヶ月前の日付をYYMMDD形式で取得する方法


665) 日付取得について NT 2002/09/17(火) 13:40


一ヶ月前の日付を取得する方法を教えてください。
例)20020917→20020817

666) Re:日付取得について じゃく 2002/09/17(火) 14:15


こんにちは

>一ヶ月前の日付を取得する方法を教えてください。
>例)20020917→20020817

OSが98,95系ですと標準のコマンドだけでは困難でしょう。
NT,2000,XP系では条件さえあえばできないことはないかと
思います。

そこで、質問者のNTさんの求めている「1ヶ月前」は
どのような仕様なのでしょうか?
たとえば、3月30日の1ヶ月前は何日になるのをご希望ですか?

質問の例からすると、年も含めて考慮するようですが、年の範囲を限定できますか?
(たとえば、2000年以降に限定してもよいとか)


667) Re2:日付取得について NT 2002/09/17(火) 14:23


>こんにちは

>>一ヶ月前の日付を取得する方法を教えてください。
>>例)20020917→20020817

>OSが98,95系ですと標準のコマンドだけでは困難でしょう。
>NT,2000,XP系では条件さえあえばできないことはないかと
>思います。

>そこで、質問者のNTさんの求めている「1ヶ月前」は
>どのような仕様なのでしょうか?
>たとえば、3月30日の1ヶ月前は何日になるのをご希望ですか?

>質問の例からすると、年も含めて考慮するようですが、年の範囲を限定できますか?
>(たとえば、2000年以降に限定してもよいとか)


今回、使用したいと思っているのは、OSはNT4.0 Server、日付につきましては現在以降でyyyymm形式で取得したいのですが・・・。よろしくお願いします。


668) Re3:日付取得について じゃく 2002/09/17(火) 15:27


NTさんこんにちは。
ご回答ありがとうございます。
>今回、使用したいと思っているのは、OSはNT4.0 Server、日付につきましては現在以降でyyyymm形式で取得したいのですが・・・。

なるほど、年月日ではなく、年月のみで1ヶ月前を取得できれば
いいのですね。WindosXPでうまくいったバッチを紹介します。
NT4.0のコマンドプロンプトで set /a や 部分文字列の取得が
できない可能性もありますので、その場合はうまく動かないかも
しれません。

@echo off
REM 一ヶ月前の月を求める
REM 求めた内容は環境変数 ANS にセットする
set yyyymmdd=%DATE:/=%
set y=%yyyymmdd:~0,4%
set m=%yyyymmdd:~4,2%
set m=%m:0=%
set /a x=m-1
if %x% GEQ 1 goto OK
set /a x=x+12
set /a y=y-1
:OK
set x=0%x%
set ans=%y%%x:~-2%
echo %ans%
set yyyymmdd=
set y=
set m=
set x=




669) Re4:日付取得について NT 2002/09/17(火) 15:48


じゃくさん。
どうもありがとうございます。
NT用に手を加えたところ、希望どおりに出来ました。

670) Re5:日付取得について【訂正】 じゃく 2002/09/17(火) 17:15


NTさんこんにちは。

>じゃくさん。
>どうもありがとうございます。
>NT用に手を加えたところ、希望どおりに出来ました。

掲載したバッチに問題がありました。
10月に誤動作しますので、訂正したものを再掲します。

@echo off
REM 一ヶ月前の月を求める
REM 求めた内容は環境変数 ANS にセットする
set yyyymmdd=%DATE:/=%
set y=%yyyymmdd:~0,4%
set m=%yyyymmdd:~4,2%
REM 先頭の0を除かないと8進数と解釈される
if not "%m%"=="10" set m=%m:0=%
set /a x=m-1
if %x% GEQ 1 goto OK
set /a x=x+12
set /a y=y-1
:OK
set x=0%x%
set ans=%y%%x:~-2%
echo %ans%
set yyyymmdd=
set y=
set m=
set x=
 
 


カテゴリー「DATE,TIME…日付、時刻の取得/利用」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2002年09月17日 01:29に投稿されたエントリーのページです。

ひとつ前の投稿は「ボタンを押す動きをバッチファイルに書きたい」です。

次の投稿は「バッチファイル内で数値の計算は可能?」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート