[英]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.