Erlang Thursday – calendar:iso_week_number/1

今天的Erlang Thursday讲的是 calendar:iso_week_number/1.

calendar:iso_week_number/1 接收一个日期元组做为入参,然后返回一个由年份和周数字组成的元组。年份是入参里的年份,而周数字是一个1到53的整数。

1
2
3
4
calendar:iso_week_number({2015, 05, 04}).
{2015,19}
calendar:iso_week_number({2015, 05, 03}).
{2015,18}

如果我们拿本周做为一个例子,我们可以看到本周是从星期一(五月四日)开始,而前一个星期天(五月三日)是属于上一个星期的。

我们看到一月一日是这一年的第一周,这没什么奇怪,而2015年的十二月三十一日是这一年的第53周。

1
2
3
4
calendar:iso_week_number({2015, 1, 1}).
{2015,1}
calendar:iso_week_number({2015, 12, 31}).
{2015,53}

一开始听到一年有53周我们会很惊讶,因为几乎每个人都认为一年只有52周,直到你意识到有些十二月三十一日有时候是处于一周的开始,所以造成了它处在第53周,而它仅仅是这周的一部分。

原文链接: https://www.proctor-it.com/erlang-thursday-calendar-iso_week_number-1/