Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

C-Sharp_Kteam_Xử lý tính tuổi của nhân viên trên c#

20:17 12-06-2017 4.867 lượt xem 2 bình luận 21:21 12-06-2017

mình muốn tính tuổi của 1 nhân viên trước khi insert vào CSDL.

Ngày nhập sử dụng Datetimeinput.

Ngày trừ. Ngày hiện tại. 

==> Xin code nếu ngày Htai - Ngày nhập > 18(tuổi)  thì ok.

Cảm ơn m.n . mong m.n giúp đỡ

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 21:14 12-06-2017

2 DateTime trừ nhau nó ra TimeSpan nên bạn dùng TotalDay để check nhé

DateTime Date1 = new DateTime();
DateTime Date2 = new DateTime();

double Result = Date2.Subtract(Date1).TotalDays;

 

Nguyễn Nhật Nam đã bình luận 21:12 12-06-2017

Bạn dùng biến TimeSpan để gán giá trị chênh lệch thời gian giữa ngày sinh lấy từ DateTimePicker với ngày hiện tại:

TimeSpan timeDifference = DateTime.Now - dateTimePicker1.Value;

TimeSpan có các thuộc tính TotalHours, TotalMinutes, ... nhưng TotalDays là lớn nhất, không có thuộc tính TotalYear nên mình sẽ tính trung bình 1 năm có 365,2425 ngày, gọi thuộc tính này để chia ra gán vào biến kiểu double:

double Age = timeDifference.TotalDays / 365.2425;

Bây giờ bạn có thể dùng biến Age để xử lí.

private void button1_Click(object sender, EventArgs e)
		{
			TimeSpan timeDifference = DateTime.Now - dateTimePicker1.Value;
			double Age = timeDifference.TotalDays / 365.2425;
			textBox1.Text = "Số năm tuổi: " + Age + "\n";
			if (Age > 18)
			{
				textBox1.Text += "Bạn trên 18 tuổi";
			}
			else
			{
				textBox1.Text += "Bạn chưa 18 tuổi";
			}
		}

 

Câu hỏi mới nhất