1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UiPath:本日の年度を得る方法

Last updated at Posted at 2020-07-06

皆もすなるQiitaといふものを、儂もしてみむとてするなり。

と言う訳で、こん**は!はなっち!です。

DateTime型ってのは、単に日付とか日時を格納して、.ToString辺りで文字列化して、ファイル名の一部にしてみたりって位しか使っていなかったんですが、業務要件によっては「年度のフォルダの中にファイルがあるんだよね」なんて言われてしまって。。。

年度を求めるのには、COBOL的発想だと、月を持ってきて、1月、2月、3月だったら年 - 1だよね。。。なんてやってしまうのだけど、DateTime型には、「DateTime.AddMonths(Int32)」と言うありがたいメソッドがあるわけで。

日付 年度 -1月 -2月 -3月 -4月
2020/5/1 2020 2020/4/1 2020/3/1 2020/2/1 2020/1/1
2020/4/1 2020 2020/3/1 2020/2/1 2020/1/1 2019/12/1
2020/3/1 2019 2020/2/1 2020/1/1 2019/12/1 2019/11/1
2020/2/1 2019 2020/1/1 2019/12/1 2019/11/1 2019/10/1
2020/1/1 2019 2019/12/1 2019/11/1 2019/10/1 2019/9/1
2019/12/1 2019 2019/11/1 2019/10/1 2019/9/1 2019/8/1

例えば日付に-3月を加算してあげれば(3月を減算として書きたいところだけど)、2020/3/1が2019/12/1となって2019年度となり、2020/4/1は2020/1/1となって2020年度となる。

ならば、3月始期の会社だったりすると、-3ではなく、-2してあげればいいんですね。

流石にプログラマだったりするとこのレベルだと既に実装しているだろうけど、最近のトレンド、「内製化」する会社の現場の方はちょっと覚束ない。

だもんで、一気に年度までを取得できる代入式を見せてあげている訳で。。。

image.png

左辺:年度(Int32)
右辺:日時.AddMonths(-3).Year

おわりに

いかがでした?
DateTime型はExcelシート上の日付でフィルタリング範囲に使ってみたり、先の例のように業務で管理単位とするなど、様々なシーンで扱うことが多いです。是非UiAthでのロボ開発の一助になればと思っています。

ありがとうございました!

2020/7/9 初稿、日時.AddMonths(-3).Yearとすべきところを、日時.AddMinutes(-3).Yearとしていました。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?