Mami
(どらもっち)
1
Uipathで日付処理をしたいと考えています。
しかし、分からない点があり・・・
例えば
本日の日付(1月22日)をDatetimeで取得。
その後、前月の日付を取得。
というプログラムを考えているのですが、
①本日の日付を取得 → strNow = Now.ToString(“yyyy/MM/dd”)
②先月の日付を取得 → strDate_onemonthago = datetime.Parse(strNow)
strDate_onemonthago = strDate_onemonthago.addmonths(-1)
このようにしています。
すると、実際に動かすと先月の日付は2019/12/22になってほしいのに
2020/00/22になってしまいます。
どこがいけないのかどなたかご教示お願いできると嬉しいです。
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
2
Studio 2018.4.4 - 02/28/2019
Enterprise Edition
Windows インストーラー
Microsoft Windows 10 Enterprise 64 ビット
.NET Framework バージョン 4.7.2 or later
環境下では、できますねぇ。
「実際に動かすと先月の日付は2019/12/22になってほしいのに、2020/00/22になって」
これはどのようにして確認したのでしょう?
Mami
(どらもっち)
3
ありがとうございます。
uipathを実際に動かして確認しました。
rkelchuri
(ER.Krishna)
4
now.AddDays(2).ToString( ‘dd / MM / yyyy’)-> 2日先の日付
now.AddDays(1).ToString( ‘dd / MM / yyyy’)->将来の日付。
now.AddDays(0).ToString( ‘dd / MM / yyyy’)->現在の日付。
now.AddDays(-1).ToString( ‘dd / MM / yyyy’)->前の日付
now.AddDays(-2).ToString( ‘dd / MM / yyyy’)-> 2日前
このロジックを試してください
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
5
それはそうですよね。
strDate_onemonthagoを、1 行を書き込み辺りでログ化した際、ToString(“yyyyMMdd”)で確認したって事ですね?
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
6
ここを、strDate_onemonthago = Now
とやっても同じ結果ですか?
1 Like
Yoichi
(Yoichi)
7
こんにちは
可能性の潰しこみになりますが、月の00が表示されている部分は文字列への出力書式をMMではなくmmとしている可能性が高そうな..一度ご確認いただければと思います。
1 Like
Mami
(どらもっち)
8
①本日の日付を取得(Assign)
strNow = System.DateTime.Now
dtmToday = strNow.date
②一か月前の日付取得(Assign)
strDate_onemonthago = dtmToday.AddMonths(-1)
これで無事取得できました。
原因は、
本日の日付を取得するときに
strNow = Now.ToString(“yyyy/MM/dd”)
として文字列型で取得してしまうと、1か月前の日付を取得しても
今月が1月ならばそこから1を引くと0になってしまうからです。
そのため、2020/00/22という結果が出ていたという単純なことでした。
色々と考えて下さった方々どうもありがとうございました。
1 Like
system
(system)
Closed
9
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.