Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 20

Chủ đề: trừ datetime in C#

  1. #1
    Tham gia
    01-04-2007
    Location
    Vĩnh Long
    Bài viết
    129
    Like
    0
    Thanked 3 Times in 3 Posts

    trừ datetime in C#

    Chào các bạn trong nhóm VB.Net,Mình có vấn đề như vậy?
    Mình có một
    ngày A với kiểu là MM/dd/yyyy Ví dụ:08/09/2009
    ngày B với kiểu là MM/dd/yyyy Ví dụ:08/06/2009
    Mình muốn ngày A-ngày B==>trả về một ngày như định dạng trên(mm/dd/yyyy)
    Bạn nào biết giúp mình nha!
    Thanks you!
    Quote Quote

  2. #2
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Quote Được gửi bởi trinm1987 View Post
    Chào các bạn trong nhóm VB.Net,Mình có vấn đề như vậy?
    Mình có một
    ngày A với kiểu là MM/dd/yyyy Ví dụ:08/09/2009
    ngày B với kiểu là MM/dd/yyyy Ví dụ:08/06/2009
    Mình muốn ngày A-ngày B==>trả về một ngày như định dạng trên(mm/dd/yyyy)
    Bạn nào biết giúp mình nha!
    Thanks you!
    Tựa đề là "trừ DateTime in C#", mà lại mở đầu bằng câu "chào các bạn trong VB.NET". Tôi không hiểu nghĩa là sao?

    Datetime X = A - B;

    Không phải chỉ đơn giản thế sao?

    Tuy nhiên, làm như trên sẽ cho bạn một ngày tháng...từ thời ông Bành Tổ còn sống. Có lẽ bạn muốn tìm tổng số ngày khác nhau từ A và B thì phải???

  3. #3
    Tham gia
    01-04-2007
    Location
    Vĩnh Long
    Bài viết
    129
    Like
    0
    Thanked 3 Times in 3 Posts
    Quote Được gửi bởi dq_ninh View Post
    Tựa đề là "trừ DateTime in C#", mà lại mở đầu bằng câu "chào các bạn trong VB.NET". Tôi không hiểu nghĩa là sao?

    Datetime X = A - B;

    Không phải chỉ đơn giản thế sao?

    Tuy nhiên, làm như trên sẽ cho bạn một ngày tháng...từ thời ông Bành Tổ còn sống. Có lẽ bạn muốn tìm tổng số ngày khác nhau từ A và B thì phải???
    cảm ơn bạn đã quan tâm chủ đề của mình,
    Mình giải thích thêm về tựa đề, ở đây nhóm mình tìm hiểu, trao đổi về công nghệ .Net nên bao gồm VB.net, C#.net, ASP.net,....
    còn cách làm của bạn thì bạn có thử chạy được chưa, chứ nếu đơn giản như vậy thì ai cũng làm được rồi, đúng là trong C# có thể thực hiện việc chồng toán tử như trên
    DateTime A=new DateTime();
    DateTime B=new DateTime();
    DateTime C=new DateTime();
    C=A-B là đúng về lý thuyết, bạn có làm thử chưa, Theo mình nghĩ thì không như vậy, vì mình thử rồi,
    Bạn thực hiện như vậy nó sẽ không trả về kiểu DateTime và nó trả về kiểu TimeSpan. nên sẽ gây lỗi cú pháp
    Mình vẫn chưa nghĩ ra cách giải tốt nhất, Các bạn tiếp tục đóng góp với mình nha!
    cảm ơn các bạn!

  4. #4
    Tham gia
    13-10-2008
    Location
    www.vnfox.com
    Bài viết
    462
    Like
    0
    Thanked 10 Times in 10 Posts
    Thu*? A.substract(B) xem sao

    Sau đo' muon lay total seconds thi TimeSpan c = A.substract(B)

    c.TotalSeconds chỉ vậy thôi

    hoac
    c.TotalDays
    haoc
    c.TodayMonths ...

    Van van ...

  5. #5
    Tham gia
    01-04-2007
    Location
    Vĩnh Long
    Bài viết
    129
    Like
    0
    Thanked 3 Times in 3 Posts
    Quote Được gửi bởi Scripted View Post
    Thu*? A.substract(B) xem sao

    Sau đo' muon lay total seconds thi TimeSpan c = A.substract(B)

    c.TotalSeconds chỉ vậy thôi

    hoac
    c.TotalDays
    haoc
    c.TodayMonths ...

    Van van ...
    ồ cảm ơn bạn!
    Cách của bạn mình đã thử rùi đúng là nó ra dược số ngày, tháng, năm, giờ phút giay luôn, nhưng ở đây mình muốn trả về kiểu datetime
    Theo bạn nghĩ thì có trường hợp như vậy không nhé
    ví dụ
    Hôm nay: DateTime today=new Datime(2009,09,19)
    Hôm qua: DateTime yesterday=new Datime(2009,09,18)
    vậy hai ngày này trừ với nhau sẽ ra gì nhỉ, m suy nghĩ hoài mà chưa nghĩ ra nữa
    mình biết nếu lấy hai ngày này trừ với nhau thì kết quả là 1 ngày, nhưng như vậy thì không phải là kiểu datetime nữa, mình muốn kết quả trả về là kiểu datetime.
    Nhưng m cũng không chắc là có trường hợp này không nữa.
    Không biết kiểu Datetime này có thể cộng/trừ với nhau như những kiểu khác ví dụ kiểu phân số không?

  6. #6
    Tham gia
    02-08-2009
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn thử đọc thêm về lớp TimeSpan trong C# xem

  7. #7
    Tham gia
    01-04-2007
    Location
    Vĩnh Long
    Bài viết
    129
    Like
    0
    Thanked 3 Times in 3 Posts
    Quote Được gửi bởi phuckt187 View Post
    Bạn thử đọc thêm về lớp TimeSpan trong C# xem
    Nếu mình đọc hiểu thì đã không post lên nhờ mọi người đóng góp ý kiến!
    Bạn biết thì chỉ mình nha!
    Thanks

  8. #8
    Tham gia
    02-08-2009
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts
    Theo mình thì ko có cách convert từ DateTime sang TimeSpan đâu, và cũng ko nên đi theo hướng này. Nếu lấy 2 DateTime trừ cho nhau thành 1 giá trị TimeSpan, rồi chuyển lại thành DateTime cho ra kết quả ko hợp lý lắm

    Code:
    TimeSpan diff = DateTime.Parse("9/19/2008 10:54:55 PM") - DateTime.Parse("9/19/2008 10:10:33 PM");
    long i = Math.Abs( diff.Ticks);
    DateTime newDate = new DateTime(i);
    MessageBox.Show(newDate.ToString());
    Kết quả là "1/1/0001 12:44:22 AM".
    Có lẽ phải nghiên cứu thêm hoặc tìm hướng khác

  9. #9
    Tham gia
    30-10-2007
    Location
    Hà Nội
    Bài viết
    382
    Like
    0
    Thanked 14 Times in 14 Posts

    Buồn quá đi ! Chào bạn..

    Mình cũng ko chắc rằng trong .NET đã có sẵn phương thức nào hỗ trợ việc thực hiện các phép toán số cộng trừ trực tiếp giữa 2 toán hạng kiểu DateTime hay chưa, xong mình muốn bạn phải phân biệt rõ như sau để tìm ra hướng giải quyết:

    1. Chuỗi ngày tháng mà bạn đang thấy (Vd: 20/09/2009) thì nó ko đơn thuần là một con số mang giá trị, mà nó phải được tính từ một cái mốc trong lịch sử, đó chính là Công Nguyên tức là ngày 01/01/0001. Tuy nhiên, trong quá trình tính toán thì để tăng tốc độ tính toán, chúng ta ko nhất thiết phải lấy mốc Công Nguyên đó, mà có thể lấy một mốc xác định nào đó gần đây đảm bảo ko làm mất đi khoảng thời gian chúng ta cần sử dụng.

    2. Điều thứ 2 mà mình muốn nói rằng mình ko rõ bạn đang làm ứng dụng gì mà lại muốn cộng hay trừ 2 toán tử kiểu kiểu DateTime mà lại muốn trả về là một ngày tháng xác định. Trong thực tế thì ko ai làm việc này cả, bởi vì người ta hay xác định thời gian theo kiểu: "Bao nhiêu ngày nữa thì tới ngày này, ngày kia.." hay "từ hôm đó tới giờ đã qua bao nhiêu ngày rồi nhỉ..",...vv.. vì rất đơn giản là khi bạn cộng hay trừ 2 ngày cho nhau nó sẽ một số nguyên... ít ai lại lại hỏi nhau.."từ ngày aa/bb/cccc tời hôm nay là ngày nào rồi nhỉ "...

    Vậy bạn có thể nói rõ công việc bạn đang cần tới yêu cầu này ko?

  10. Thành viên Like bài viết này:


  11. #10
    Tham gia
    18-08-2005
    Location
    Montclair
    Bài viết
    8,722
    Like
    20
    Thanked 1,457 Times in 600 Posts
    Câu hỏi một ngày trừ cho một ngày thành một ngày khác là phi lý dù ở C#, VB, hay Fox v.v.

    Ngày trừ cho ngày chỉ cho ra một số như +/- 1,2,3,4,100,v.v.

    Chỉ có thể ngày cộng với số Date + number hoặc Date - number ra thành một ngày khác thì hợp lý.

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •