![](/img/trans.png)
[英]Java. How to get month, year, day from Jspinner which is associated with java.util.Date?
[英]get Year from java.util.Date
我在Cassandra列族中有一個日期列。 當我使用datastax java API從此CF檢索數據時,可以將此日期對象視為java.util.Date
對象。
它有一個getYear()
方法但不推薦使用。 相應的javadoc說:
從JDK 1.1版開始,由Calendar.get(Calendar.YEAR) - 1900取代。
如何正確獲取此日期對象的年,月,日屬性?
你能嘗試一下嗎?
// create a calendar
Calendar cal = Calendar.getInstance();
cal.setTime(datetime); //use java.util.Date object as arguement
// get the value of all the calendar date fields.
System.out.println("Calendar's Year: " + cal.get(Calendar.YEAR));
System.out.println("Calendar's Month: " + cal.get(Calendar.MONTH));
System.out.println("Calendar's Day: " + cal.get(Calendar.DATE));
正如javadocs中提到的那樣;
@Deprecated public int getYear()已過時。 從JDK版本1.1開始,由Calendar.get(Calendar.YEAR) - 1900取代。返回一個值,該值是從包含或以此Date對象表示的時刻開始的年份減去1900的結果,如當地時區。 返回:此日期表示的年份減去1900。
一個好的選擇是使用日期格式如下:
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy");
Date date = sdf1.parse(datetime);
String year = sdf2.format(date);
在java8中使用LocalDate對象
Date date = new Date();
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
int year = localDate.getYear();
int month = localDate.getMonthValue();
int day = localDate.getDayOfMonth();
要檢索日期和時間字段,您可以使用以下代碼:
DateFormat.getDateTimeInstance().getCalendar().get(DateFormat.MONTH_FIELD)
只需用一個像“DAY_OF_WEEK_FIELD”這樣的其他東西替換MONTH_FIELD來檢索星期幾(我認為'1'代表星期一)或當前分鍾的“MINUTE_FIELD”等等:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.