Helpex - Trao đổi & giúp đỡ Đăng nhập
1

Tôi có một chìa khóa tháng trông như thế này "201208".

Tôi đang đọc dữ liệu từ SQL và trả về dưới dạng DataTable. Sau đó, tôi đang lặp lại của tôi DataTable.

For Each dr As DataRow In dt.Rows
   Dim s As String = dr.Item(0)
Next

Của tôi ssẽ là một chuỗi trông như thế này "201208" Làm thế nào để chuyển đổi chuỗi này thành year, first day of the month and last day of the month?

Tìm cách tách chuỗi thành hai dims riêng biệt .

Bất kỳ đề xuất đánh giá cao.

1 hữu ích 1 bình luận 8.5k xem chia sẻ
6

Cách dễ nhất là chỉ cần phân tích cú pháp chuỗi thành Date, sau đó tính ngày cuối cùng của tháng.

Hãy thử những cách sau:

Dim s = "201208"
Dim firstDay = Date.ParseExact(s, "yyyyMM", Nothing)
Dim lastDay = firstDay.AddMonths(1).AddDays(-1)
Dim year = firstDay.Year
6 hữu ích 5 bình luận chia sẻ
5

Đầu tiên, tôi sẽ sử dụng Phương thức DateTime.TryParseExact với định dạng "ddMMyy" để phân tích cú pháp chuỗi thành DateTime.

Sau đó, tôi sẽ sử dụng một cái gì đó như

Dim startDate As New DateTime(dbDate.Year, dbDate.Month, 1)
Dim endDate As DateTime = startDate.AddMonths(1).AddDays(-1)

để lấy Ngày bắt đầu và Ngày kết thúc

5 hữu ích 0 bình luận chia sẻ
1

Điều này phù hợp với tôi:

Function FormatDate(ByVal dateKey As String) As String
    Dim x As DateTime = DateTime.ParseExact(dateKey, "yyyyMM", Nothing)
    FormatDate = String.Format("Year: {0}; First day of month: {1}; Last day of month: {2}", x.Year, x.AddDays(-x.Day).ToString("dddd"), x.AddMonths(1).AddDays(-x.Day).ToString("dddd"))
End Function

Bạn có thể sử dụng chức năng này như sau:

Dim dateDetails As String = FormatDate("201208")
1 hữu ích 0 bình luận chia sẻ
0
  1. Chia chuỗi đó thành năm và tháng (xem Chuỗi con )
  2. Sử dụng "1" làm ngày đầu tiên của tháng -> đó là ngày bắt đầu của bạn
  3. Cộng một tháng, trừ một ngày -> đó là ngày kết thúc của bạn
0 hữu ích 2 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ asp.net sql vb.net , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading