kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 venkat
venkat
Question

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.

31 2012-01-02T07:10:45+00:00 3
Uwe Keim
Uwe Keim
Pertanyaan edit 9 September 2018 в 4:17
Pemrograman
c#
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
Haris Hasan
Haris Hasan
2 Januari 2012 в 7:15
2012-01-02T07:15:24+00:00
Lebih
Sumber
Sunting
#15089152

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();
Poul Bak
Poul Bak
Jawaban edit 23 November 2018 в 11:40
24
0
 Dominik
Dominik
2 Januari 2012 в 7:12
2012-01-02T07:12:25+00:00
Lebih
Sumber
Sunting
#15089151

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

string.Format("Q{0}", (date.Month + 2)/3);
Uwe Keim
Uwe Keim
Jawaban edit 9 September 2018 в 4:16
14
0
 mshthn
mshthn
2 Januari 2012 в 12:44
2012-01-02T12:44:42+00:00
Lebih
Sumber
Sunting
#15089153

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);
 mshthn
mshthn
Jawaban edit 2 Januari 2012 в 12:50
3
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
工藤 芳則
Terdaftar 6 hari yang lalu
2
Ирина Беляева
Terdaftar 1 minggu yang lalu
3
Darya Arsenyeva
Terdaftar 1 minggu yang lalu
4
anyta nuam-nuam (LapuSiK)
Terdaftar 1 minggu yang lalu
5
Shuhratjon Imomkulov
Terdaftar 1 minggu yang lalu
ID
JA
RU
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi