相关疑难解决方法(0)

Java - 如何计算每周的第一天和最后一天

我正在尝试创建一个如下所示的每周日历:http://dhtmlx.com/docs/products/dhtmlxScheduler/sample_basic.html

如何计算每周的日期?例如,本周是:


6月7日星期一 - 6月8日星期日,6月9日,6月10日,6月11日,6月12日

java calendar

16
推荐指数
5
解决办法
6万
查看次数

Joda-time:今年ISO第1周的第一天

我想知道今年的ISO第1周的周一日期(2009年将是2008年12月29日星期一).

我确信joda-time可以处理这个问题,但我无法弄清楚API(可能已经太晚了).

有人可以帮忙吗?谢谢!

java jodatime

12
推荐指数
2
解决办法
6414
查看次数

java.util.Calendar的非标准语言环境

我们在瑞典有一位客户,使用英文软件.所以我们设置了Locale(en, SV).我们希望Calendar类能够遵循国家/地区设置,但它使用语言并使用此语言环境来假设美国设置.

因此,我现在正在寻找一种方法,让日历通过标准方式了解新的firstDayOfWeekminimumDayinFirstWeek设置,而不是手动设置并因此硬编码.

澄清:2010年8月29日在瑞典的CW 34(也在德国和英国),但在美国,据报道为CW 36. 2010年1月1日是星期五和29.08的不同结果.2010一个星期天.

我无法将语言设置本身更改为瑞典语并使用英语后备,因为我们不支持瑞典语作为语言,但Sun/Oracle/..确实如此,因此Swing UI将混合使用瑞典语和英语文本,这是不可接受的.

只是添加名为"sun.util.resources.CalendarData_en_SV.properties"的属性文件无法解决:它无法读取!手动作为ResourceBundle是可能的.不知何故LocaleData.getCalendarData(Locale)在读取resourcfiles方面有自己的魔力,因为它的源不可用而无法找到它.这个方法叫做:java.util.Calendar.setWeekCountData(Locale).

我还找到了java.util.spi包,但它不提供对firstDayOfWeek和minimumDaysInFirstWeek设置的访问.

也许我可以尝试拦截对resourcebundles的调用,并使用默认的回退到英语,只允许对CalendarData的调用继续!?但这听起来很糟糕.

package de.drews.i18n;

import java.util.Calendar;
import java.util.Locale;
import java.util.ResourceBundle;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
       // en_GB = 34
       // en_US = 36
       // sv_SV = 34
       // en_SV = 36 --> wrong

       printTest("en", "GB", 34);
       printTest("en", "US", 36);
       printTest("sv", "SV", 34);
       printTest("en", "SV", 34);
    }

    private static void printTest(String language, String …
Run Code Online (Sandbox Code Playgroud)

java swing calendar localization

11
推荐指数
1
解决办法
1820
查看次数

Java8 java.time:如何更改星期几和当天的开始时间?

假设我希望我的星期在星期二开始,那天应该从早上5:30开始.

这意味着,像这样的代码应该工作:

// LocalDateTimes created with the "standard" ISO time
LocalDateTime tuesday_4_30 = LocalDateTime.now()
                                 .with(TemporalAdjusters.next(DayOfWeek.TUESDAY))
                                 .withHour(4).withMinute(30);

LocalDateTime tuesday_6_30    = tuesday_4_30.withHour(6).withMinute(30);
LocalDateTime previous_monday = tuesday_4_30.minusDays(1);

// eventual adjustment using TemporalAdjusters here? like this?
// tuesday_4_30 = tuesday_4_30.with(new MyTemporalAdjuster(DayOfWeek.TUESDAY, 5, 30));
// <do the same for 6_30 and previous monday>
// or possibly change some global parameter like Chronology, Locale, or such..

Assert.assertEquals(tuesday_4_30.getDayOfWeek(), DayOfWeek.MONDAY);

Assert.assertEquals(tuesday_6_30.getDayOfWeek(), DayOfWeek.TUESDAY);

// there is 1 week between the previous monday and the next tuesday 6:30
Assert.assertEquals( ChronoUnit.WEEKS.between(previous_monday,tuesday_6_30), …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-time

6
推荐指数
1
解决办法
905
查看次数

Java日历:计算上周的开始日期和结束日期

获取前一周开始和结束日期的最方便,最短的方法是什么?示例:今天是2011-10-12(输入数据),但我希望得到2011-10-03(周一上周的日期)和2011-10-09(周一上周的日期).

java

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×5

calendar ×2

java-8 ×1

java-time ×1

jodatime ×1

localization ×1

swing ×1