Rumah > Soal Jawab > teks badan
P粉2855875902023-09-04 00:07:58
Masalah anda nampaknya berpunca daripada menganggap tahun dan bulan sebagai nilai yang berasingan. Sebaliknya, gabungkan mereka. Fikirkan dari segi tahun dan bulan.
YearMonth
kelasJava termasuk kelas untuk konsep ini. Ia sesuai dinamakan: YearMonth
dan terletak dalam pakej java.time.
YearMonth ym = YearMonth.of ( 2023 , 3 ) ;
Atau gunakan Month
penghitungan untuk memastikan nilai yang sah.
YearMonth ym = YearMonth.of ( 2023 , Month.MARCH ) ;
Anda boleh menggunakan 地图
。使用 NavigableMap
untuk memastikan kunci dalam susunan yang disusun.
NavigableMap< YearMonth , UUID > map = new TreeMap<>() ; map.put( YearMonth.of ( 2023 , Month.MARCH ) , UUID.randomUUID() ); map.put( YearMonth.of ( 2023 , Month.FEBRUARY ) , UUID.randomUUID() );
Uji sama ada nilai telah dimasukkan.
boolean alreadyPut2023March = map.containsKey( YearMonth.of ( 2023 , Month.MARCH ) ) ;
Untuk tujuan teks, gunakan format lalai ISO 8601: YYYY-MM
Kelasjava.time menggunakan format ISO 8601 secara lalai apabila menghuraikan/menjana teks.
String iso8601Output = YearMonth.of ( 2023 , Month.MARCH ).toString() ;
Dengan mengandaikan pangkalan data anda tidak menyediakan jenis data tahun dan bulan, rentetan sedemikian boleh digunakan untuk menyimpan dalam pangkalan data anda. Saya tidak tahu mana-mana pangkalan data yang menyediakan jenis data ini. Jadi cukuplah kata-kata.
Sila ambil perhatian bahawa apabila mengisih mengikut abjad, nilai juga akan diisih mengikut kronologi.
JSON anda akan kelihatan seperti ini:
{
"year-month": "2023-03",
"readingTime": "1"
}