有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在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);

请帮帮我。。 提前谢谢


共 (3) 个答案

  1. # 1 楼答案

    你们的代码是有效的,唯一的区别是你们的设定日期。但是一天中的哪个星期

    下面的代码演示如何设置日历的日期和时间

    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);
    
  2. # 2 楼答案

    如果您想设置月份的日期,那么您可以交替使用这两种方法中的任何一种

    date.set(Calendar.DAY_OF_MONTH, 10); // Synonym of DATE
    date.set(Calendar.DATE, 10); // Synonym of DAY_OF_MONTH
    
  3. # 3 楼答案

    tl;博士

    ZonedDateTime.of( 2016 , 9 , 10 , 10 , 0 , 0 , 0 , ZoneId.of( "Europe/Paris" ) )
    

    细节

    接受的answer by Ɍ.Ɉ是正确的

    爪哇。时间

    下面是使用现代java实现相同功能的方法。取代麻烦的旧遗留日期时间类的时间类

    http://docs.oracle.com/javase/8/docs/api/java/time/ZonedDateTime.html类表示特定时区中时间轴上的一个时刻,分辨率为nanoseconds。使用所有特定的年、月、小时等参数实例化:^{}

    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[Europe/Paris]

    如果希望以其他格式生成字符串,请在堆栈溢出中搜索DateTimeFormatter

    关于java。时间

    java.time框架内置于Java8和更高版本中。这些类取代了旧的麻烦的日期时间类,如java.util.Date.Calendar、&java.text.SimpleDateFormat

    现在位于maintenance modeJoda-Time项目建议迁移到java。时间

    要了解更多信息,请参阅Oracle Tutorial。并搜索堆栈溢出以获得许多示例和解释

    java的大部分内容。时间功能被向后移植到Java6&;7在{a10}中,并进一步改编为{a11}在{a12}中(见{a13})

    {a14}项目扩展了java。额外上课的时间。这个项目是将来可能添加到java的一个试验场。时间您可以在这里找到一些有用的类,例如IntervalYearWeekYearQuarter等等