[英]How to set Calender to Particular date and time in java
我正在使用Java的Calender類..這里將日歷設置為星期幾和時間。現在根據我的需要,我想將它設置為月份和時間的日期,例如應該將日歷設置為月份的第10個,時間應該設置為上午10點。但是我沒辦法..
這是我的代碼。
Calendar date = Calendar.getInstance();
date.set(
Calendar.DAY_OF_WEEK,
Calendar.TUESDAY);
date.set(Calendar.HOUR, 10);
date.set(Calendar.MINUTE, 58);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
請幫助我..預先感謝..
如果要設置月份的日期,則可以互換使用二者之一。
date.set(Calendar.DAY_OF_MONTH, 10); // Synonym of DATE
date.set(Calendar.DATE, 10); // Synonym of DAY_OF_MONTH
您的代碼有效,唯一的不同是您的設置日期。 但是一天中的哪一周呢?
下面的代碼演示如何設置日歷的日期和時間。
Calendar date = Calendar.getInstance();
long today = date.getTimeInMillis();
date.set(
Calendar.DATE,11);
date.set(Calendar.HOUR, 10);
date.set(Calendar.MINUTE, 58);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
date.set(Calendar.MONTH, 10);
date.set(Calendar.YEAR, 2013);
date.setTimeZone(TimeZone.getDefault());
long lastday = date.getTimeInMillis();
System.out.println(date.getTimeInMillis());
long diff = today - lastday;
diff = ((diff/1000)/360);
System.out.println("Hours diff :"+diff);
ZonedDateTime.of( 2016 , 9 , 10 , 10 , 0 , 0 , 0 , ZoneId.of( "Europe/Paris" ) )
這是執行相同操作的方法,但是使用現代的java.time類代替了麻煩的舊舊日期時間類。
http://docs.oracle.com/javase/8/docs/api/java/time/ZonedDateTime.html類表示特定時區中時間軸上的時刻,分辨率為納秒 。 用所有特定的年,月,時等參數實例化: of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)
。
ZoneId z = ZoneId.of( "Europe/Paris" );
ZonedDateTime zdt = ZonedDateTime.of( 2016 , 9 , 10 , 10 , 0 , 0 , 0 , z );
請參閱標准ISO 8601格式的該值的字符串表示形式,該表示形式通過在方括號中附加時區名稱來擴展。
String output = zdt.toString();
2016-09-10T10:00:00 + 02:00 [歐洲/巴黎]
如果要以其他格式生成字符串,請在Stack Overflow中搜索DateTimeFormatter
。
java.time框架內置於Java 8及更高版本中。 這些類取代了麻煩的舊日期時間類,例如java.util.Date
, .Calendar
和java.text.SimpleDateFormat
。
現在處於維護模式的Joda-Time項目建議遷移到java.time。
要了解更多信息,請參見Oracle教程 。 並在Stack Overflow中搜索許多示例和說明。
大部分的java.time功能后移植到Java 6和7 ThreeTen,反向移植 ,並進一步適應的Android在ThreeTenABP (見如何使用...... )。
ThreeTen-Extra項目使用其他類擴展了java.time。 該項目為將來可能在java.time中添加內容提供了一個試驗場。 您可能會在這里找到一些有用的類,例如Interval
, YearWeek
, YearQuarter
等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.