当前位置: 首页 > 面试题库 >

为什么在2010年12月31日返回1作为一年的一周?

武琛
2023-03-14
问题内容

例如:

Calendar c = Calendar.getInstance();
DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
c.setTime( sdf.parse("31/12/2010"));
out.println( c.get( Calendar.WEEK_OF_YEAR ) );  

版画1

乔达时间也是如此。


问题答案:

Year of Year的定义是Locale依赖的。

其他帖子中讨论了在美国如何定义。例如在德国(DIN 1355-1 / ISO 8601):一年的第一周*是新年中具有四天或以上的第一周。

*一周的第一天是星期一,一周的最后一天是星期日

JavaCalendar注重语言环境。例如:

public static void main(String[] args) throws ParseException {

    DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    Date lastDec2010 = sdf.parse("31/12/2010");

    Calendar calUs = Calendar.getInstance(Locale.US);       
    calUs.setTime(lastDec2010);

    Calendar calDe = Calendar.getInstance(Locale.GERMAN);       
    calDe.setTime(lastDec2010);

    System.out.println( "us: " + calUs.get( Calendar.WEEK_OF_YEAR ) ); 
    System.out.println( "de: " + calDe.get( Calendar.WEEK_OF_YEAR ) );
}

印刷品:

us: 1
de: 52

添加 对于美国(我认为墨西哥也是如此),每年的1.星期是1月1日所属的星期。-因此,如果1. Januar是星期六,则之前的星期五(12月31日)属于同一周,在这种情况下,这一天属于2011年1月。



 类似资料:
  • 我想在excel-vba中编写一个代码,在工作表的一列中填充特定年份的日期。< br >该准则还应考虑闰年。比方说,我已经在单元格B1中输入了年份(如2020年),因此列A应该填充366个日期条目(考虑到闰年)。

  • 问题内容: 使用date(1970年1月1日)作为时间操纵的默认标准有什么原因吗?我已经在Java和Python中看到了这个标准。我知道这两种语言。还有其他遵循相同标准的流行语言吗? 请描述。 问题答案: 这是Unix时间的标准。 Unix时间或POSIX时间是一种用于描述时间点的系统,时间点定义为自1970年1月1日午夜多点协调世界时(UTC)起经过的秒数,不包括leap秒。

  • 问题内容: 我正在使用模块,即: 我想计算考虑takes年的一年中的某天。例如今天(2009年3月6日)是2009年的第65天。 我看到两个选择: 创建一个数组,确定是否是a年,然后手动汇总天数。 用于猜测,然后二进制搜索一年中的正确日期: YEAR = 2009 DAY_OF_YEAR = 62 d = datetime.date(YEAR, 1, 1) + datetime.timedelta

  • 问题内容: 我试图查询包含年份列的表,并以逗号分隔的年份范围的字符串形式返回这些年份。年份范围将由数组中出现的连续年份确定,非连续年份/年份范围应以逗号分隔。 而不是数据类型的原因是,其中一些值包含而不是年份列表。我们可以忽略这些结果。 到目前为止,我几乎没有运气解决这个问题,因为我什至不知道从哪里开始。 有人可以给我一些指导或提供一些有用的示例来说明如何解决诸如挑战之类的问题吗? 例子 产出目标

  • 我想在将一周的第一天设置为周日后,将2018年10月9日这一周作为一年中的42周。我仍然从下面的代码片段中得到41的输出 我错过了什么吗? 背景:我们一周的开始可能是可变的。我们的配置能够让用户决定一周的第一天。

  • 问题内容: 下面的代码似乎演示了java.util.Date中的错误,如果将本地时钟设置为GMT且DST调整已打开,并且时间在1971年11月1日之前,则会增加一个小时。我的第一个假设始终是弄错了。谁能看到哪里出了问题(或者这真的是Java错误)?1971年11月1日有什么重要意义? 我的Java环境: 问题答案: 我在Sun的错误数据库中找到了匹配的错误。似乎他们认为这是“历史错误”(格式显然应