- - PR -
日数を元に処理をしたい。
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-06-14 12:12
皆様お世話になっております。
さて、早速ですが質問をさせていただきます。 今現在、社内勤怠システムに着手しております。そのシステム内に有休に関することがあります。そして、有休に関する計算があるんですがどうしてもわからないことがあります。 例:2007/04/01入社 ↓ 2007/10/01に有休10日付与 ↓ 2009/10/01に有休10日消滅 ---------------------------------- システム内で入社日を2007/04/01と設定。 ↓ ●2007/10/01になった時の処理などの機能はC#に存在するのでしょうか。 | ||||
|
投稿日時: 2007-06-14 12:29
(文章どおりに受け止めて) それを用意 (判断) するのがプログラマのお仕事です。 "2007/10/01" というのはあくまで例で半年後に有給を付与しなくてはならないというのを実装したいのですよね? クラス ライブラリ群はオウドーさん専用の魔法の箱ではありませんから、このタイミングもオウドーさんのやりたい処理も自分で実装する必要があります。 ただし、そういった判断を支援するクラス (構造体) は存在します。たとえば、TimeSpan 構造体はご存知でしょうか? 経過日数を知ることができます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-06-14 12:38
早速のご返答ありがとうございます。 >>"2007/10/01" というのはあくまで例で半年後に有給を付与しなくてはならないというのを実装したいのですよね? まったくその通りです。 今、私が希望している通りのクラスはありませんので自分で作成してください。 作成に関して、TimeSpan構造体が支援してくれますってことですか。 TimeSpan構造体ですか。残念ながらわかりません。少しTimeSpanについて調べてきますので判り次第もう一度質問させていただこうと思います。 | ||||
|
投稿日時: 2007-06-14 15:18
private void button1_Click(object sender, EventArgs e)
{ DateTime dt,dtnow; dt = DateTime.Parse(mt.Text); dt = dt.AddMonths(6); dtnow = DateTime.Now; if (dt < dtnow) { MessageBox.Show("成功"); } else { MessageBox.Show("失敗"); } } | ||||
|
投稿日時: 2007-06-14 15:19
private void button1_Click(object sender, EventArgs e)
{ DateTime dt,dtnow; dt = DateTime.Parse(mt.Text); dt = dt.AddMonths(6); dtnow = DateTime.Now; if (dt < dtnow) { MessageBox.Show("成功"); } else { MessageBox.Show("失敗"); } } 上記コードでいけました。お騒がせしました。ありがとうございました。 | ||||
|
投稿日時: 2007-07-04 18:56
皆様こんばんは。再びオウドーです。
またまた、有休に関してですが以前ここで公開させていただきましたコードでは 駄目だと気づきました。6ヵ月経過時点での取得は以前のコードでも大丈夫ですが 1年6ヵ月目の有休取得の処理が出来ません。 理由は、6ヵ月取得の処理も同時に行ってしまうからです。 有休処理とはどのような処理がいいのかが全く検討つきません。よろしくお願いします。 ※有休に関しては法定どおりです。 | ||||
|
投稿日時: 2007-07-04 19:11
C#にはif文という条件分岐させる構文があります。
1年6ヵ月経過している時は「6ヵ月取得の処理」を行わないように分岐しましょう。 | ||||
|
投稿日時: 2007-07-04 20:40
NAL-6295です。
最初の年の6ヶ月と、そこからの1年を分けて考えるのではなく、毎年決まった有給が発生する月を社員毎に設定しておけば、楽かもしれません。 思いつきですが。 |