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.
Anda cukup menulis metode ekstensi ke DateTime
public static int GetQuarter(this DateTime date)
{
if (date.Month >= 4 && date.Month <= 6)
return 1;
else if (date.Month >= 7 && date.Month <= 9)
return 2;
else if (date.Month >= 10 && date.Month <= 12)
return 3;
else
return 4;
}
dan menggunakannya sebagai
DateTime dt = DateTime.Now;
dt.GetQuarter();
dalam sql, itu hanya
((((month(@mydate)-1)/3)+3) % 4) + 1
periksa dengan ini:
declare @mydate datetime
set @mydate = '2011-01-01'
while @mydate <= '2011-12-31'
begin
print ((((month(@mydate)-1)/3)+3) % 4) + 1
set @mydate = dateadd(month, 1, @mydate)
end
Atau jika Anda ingin melakukannya di .net, caranya seperti
String.Format("Q{0}", ((((date.Month-1)/3)+3) % 4) + 1);