Bagaimana cara menemukan seperempat dari tanggal tertentu

Berikut ini adalah Kuartal untuk satu tahun keuangan

April to June          - Q1
July to Sep            - Q2
Oct to Dec             - Q3
Jan to March           - Q4

Jika bulan dari tanggal input terletak seperti di atas, saya membutuhkan output dalam bentuk nomor Kuartal.

Sebagai contoh,

Jika saya memberikan tanggal input (misalnya 2 Januari ), saya membutuhkan output sebagai Q4.

Jika saya memberikan input sebagai ( 5 Juni ), output harus memberikan Q1.

Berdasarkan tanggal input, saya membutuhkan nomor Kuartal.

Larutan

Anda cukup menulis metode ekstensi ke DateTime


public static int GetQuarter(this DateTime date)
{
    if (date.Month >= 4 && date.Month = 7 && date.Month = 10 && date.Month 
Komentar (3)

Ini untuk "tahun normal". Saya rasa Anda bisa menyesuaikan sampelnya:

string.Format("Q{0}", (date.Month + 2)/3);
Komentar (1)

dalam sql, itu hanya

((((month(@mydate)-1)/3)+3) % 4) + 1

periksa dengan ini:


declare @mydate datetime
set @mydate = '2011-01-01'
while @mydate 
Komentar (0)