# yearstart – função de script e gráfico

Esta função retorna um carimbo de data/hora correspondente ao início do primeiro dia do ano que contém a date. O formato de saída padrão será o DateFormat definido no script.

Sintaxe:

YearStart(date[, period\_no[, first\_month\_of\_year]])

Em outras palavras, a função `yearstart()` determina em qual ano a data cai. Em seguida, ela retorna um carimbo de data/hora, em formato de data, para o primeiro milissegundo daquele ano. O primeiro mês do ano é, por padrão, janeiro. No entanto, você pode alterar o mês definido como o primeiro usando o argumento `first_month_of_year` na função `yearstart()`.

Diagrama da função `yearstart()` que mostra o intervalo de tempo que a função pode abranger.

Diagrama da função `yearstart()` que mostra o intervalo de tempo que a função pode abranger.

Diagrama da função `yearstart()`yearstart() que mostra o intervalo de tempo que a função pode abranger. ![O diagrama que mostra a função yearstart() identifica as datas em um determinado período do ano e retorna o carimbo de data/hora do início do ano para as datas que caem nesse ano.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearstart-diagram.png)

Quando usar

A função `yearstart()` é usada como parte de uma expressão quando você deseja que o cálculo use a fração do ano decorrido até o momento. Por exemplo, se você quiser calcular os juros acumulados em um ano até o momento.

Tipo de dados de retorno: dual

Argumentos

| Argumento | Descrição |
| --- | --- |
| date | A data ou o carimbo de data/hora a ser avaliado. |
| period\_no | period\_no é um inteiro, em que o valor 0 indica o ano que contém a date. Valores negativos em period\_no indicam anos precedentes e valores positivos indicam anos sucessivos. |
| first\_month\_of\_year | Se desejar trabalhar com anos (fiscais) que não comecem em janeiro, indique um valor entre 2 e 12 em first\_month\_of\_year. |

Os meses seguintes podem ser usados no `first_month_of_year argument`:

Valores first\_month\_of\_year

| Month | Valor |
| --- | --- |
| Fevereiro | 2 |
| Março | 3 |
| Abril | 4 |
| Maio | 5 |
| Junho | 6 |
| Julho | 7 |
| Agosto | 8 |
| Setembro | 9 |
| Outubro | 10 |
| Novembro | 11 |
| Dezembro | 12 |

## Configurações regionais

A menos que especificado de outra forma, os exemplos neste tópico usam o seguinte formato de data: MM/DD/AAAA. O formato de data é especificado na instrução `SET DateFormat` no seu script de carregamento de dados. A formatação de data padrão pode ser diferente no seu sistema devido às suas configurações regionais e outros fatores. Você pode alterar os formatos nos exemplos abaixo para atender às suas necessidades. Ou pode alterar os formatos no seu script de carregamento para corresponder a esses exemplos.

As configurações regionais padrão nos aplicativos são baseadas nas configurações regionais do sistema do computador ou servidor em que o Qlik Sense está instalado. Se o servidor Qlik Sense que você está acessando estiver definido como Suécia, o Editor de carregamento de dados usará as configurações regionais suecas para datas, horas e moedas. Essas configurações de formato regional não estão relacionadas ao idioma exibido na interface do usuário do Qlik Sense. O Qlik Sense será exibido no mesmo idioma do navegador que você está usando.

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| `yearstart('10/19/2001')` | Retorna 01/01/2001 00:00:00. |
| `yearstart('10/19/2001',-1)` | Retorna 01/01/2000 00:00:00. |
| `yearstart('10/19/2001',0,4)` | Retorna 04/01/2001 00:00:00. |

## Exemplo 1: Exemplo básico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearstart.htm)

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.

O script de carregamento contém:

* Um conjunto de dados contendo um conjunto de transações entre 2020 e 2022 é carregado em uma tabela chamada "`Transactions`".

* O campo de data foi fornecido no formato da variável de sistema `DateFormat` (`MM/DD/YYYY`).

* Uma instrução de carregamento anterior que contém o seguinte:

  * Função `yearstart()`, definida como o campo `year_start`.

  * Função `Timestamp()`, definida como o campo `year_start_timestamp`

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
    Load 
       *, 
       yearstart(date) as year_start, 
       timestamp(yearstart(date)) as year_start_timestamp 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/13/2020,37.23 
8189,02/26/2020,17.17 
8190,03/27/2020,88.27 
8191,04/16/2020,57.42 
8192,05/21/2020,53.80 
8193,08/14/2020,82.06 
8194,10/07/2020,40.39 
8195,12/05/2020,87.21 
8196,01/22/2021,95.93 
8197,02/03/2021,45.89 
8198,03/17/2021,36.23 
8199,04/23/2021,25.66 
8200,05/04/2021,82.77 
8201,06/30/2021,69.98 
8202,07/26/2021,76.11
8203,12/27/2021,25.12 
8204,06/06/2022,46.23 
8205,07/18/2022,84.21 
8206,11/14/2022,96.24 
8207,12/12/2022,67.67 
]; 
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `id`
* `date`
* `year_start`
* `year_start_timestamp`

Tabela de resultados

| id | date | year\_start | year\_start\_timestamp |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8189 | 02/26/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8190 | 03/27/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8191 | 04/16/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8192 | 05/21/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8193 | 08/14/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8194 | 10/07/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8195 | 12/05/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8196 | 01/22/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8197 | 02/03/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8198 | 03/17/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8199 | 04/23/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8200 | 05/04/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8201 | 06/30/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8202 | 07/26/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8203 | 12/27/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8204 | 06/06/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 8205 | 07/18/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 8206 | 11/14/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 8207 | 12/12/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |

O campo "`year_start`" é criado na instrução de carregamento anterior usando a função `yearstart()` e transmitindo o campo de data como o argumento da função.

A função `yearstart()` identifica inicialmente em qual ano o valor da data cai e retorna um carimbo de data/hora para o primeiro milissegundo daquele ano.

Diagrama da função `yearstart()` e a transação 8199.

Diagrama da função `yearstart()` e a transação 8199.

Diagrama da função `yearstart()`yearstart() e a transação 8199. ![Diagrama que mostra que a transação 8199 ocorreu em 23 de abril e que a função yearstart() identifica o início desse ano.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearstart-example1-diagram.png)

A transação 8199 ocorreu em 23 de abril de 2021. A função `yearstart()` retorna o primeiro milissegundo daquele ano, que é 1º de janeiro às 12:00:00 AM.

## Exemplo 2: period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearstart.htm)

#### Script de carregamento e resultados

Visão geral

São usados o mesmo conjunto de dados e cenário do primeiro exemplo.

No entanto, neste exemplo, a tarefa é criar um campo, "`previous_year_start`", que retorna o carimbo de data/hora de início do ano anterior ao ano em que uma transação ocorreu.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
    Load 
       *, 
       yearstart(date,-1) as previous_year_start, 
       timestamp(yearstart(date,-1)) as previous_year_start_timestamp 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,01/13/2020,37.23 
8189,02/26/2020,17.17 
8190,03/27/2020,88.27 
8191,04/16/2020,57.42 
8192,05/21/2020,53.80 
8193,08/14/2020,82.06 
8194,10/07/2020,40.39
8195,12/05/2020,87.21 
8196,01/22/2021,95.93 
8197,02/03/2021,45.89 
8198,03/17/2021,36.23 
8199,04/23/2021,25.66 
8200,05/04/2021,82.77 
8201,06/30/2021,69.98 
8202,07/26/2021,76.11 
8203,12/27/2021,25.12
8204,06/06/2022,46.23 
8205,07/18/2022,84.21
8206,11/14/2022,96.24 
8207,12/12/2022,67.67 
]; 
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `id`
* `date`
* `previous_year_start`
* `previous_ year_start_timestamp`

Tabela de resultados

| id | date | previous\_year\_start | previous\_year\_start\_timestamp |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 01/01/2019 | 1/1/2019 12:00:00 AM |
| 8189 | 02/26/2020 | 01/01/2019 | 1/1/2019 12:00:00 AM |
| 8190 | 03/27/2020 | 01/01/2019 | 1/1/2019 12:00:00 AM |
| 8191 | 04/16/2020 | 01/01/2019 | 1/1/2019 12:00:00 AM |
| 8192 | 05/21/2020 | 01/01/2019 | 1/1/2019 12:00:00 AM |
| 8193 | 08/14/2020 | 01/01/2019 | 1/1/2019 12:00:00 AM |
| 8194 | 10/07/2020 | 01/01/2019 | 1/1/2019 12:00:00 AM |
| 8195 | 12/05/2020 | 01/01/2019 | 1/1/2019 12:00:00 AM |
| 8196 | 01/22/2021 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8197 | 02/03/2021 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8198 | 03/17/2021 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8199 | 04/23/2021 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8200 | 05/04/2021 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8201 | 06/30/2021 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8202 | 07/26/2021 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8203 | 12/27/2021 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8204 | 06/06/2022 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8205 | 07/18/2022 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8206 | 11/14/2022 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8207 | 12/12/2022 | 01/01/2021 | 1/1/2021 12:00:00 AM |

Nesse caso, como um `period_no` de `-1` foi usado como o argumento de deslocamento na função `yearstart()`, a função primeiro identifica o ano em que as transações ocorrem. Em seguida, ela procura um ano antes e identifica o primeiro milissegundo daquele ano.

Diagrama da função`yearstart()` com um `period_no` de -1.

Diagrama da função`yearstart()` com um `period_no` de -1.

Diagrama da função`yearstart()`yearstart() com um `period_no`period\_no de -1. ![Diagrama que mostra a função yearstart() com um period_no negativo, que retorna o intervalo de anos da função um ano.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearstart-example2-diagram.png)

A transação 8199 ocorreu em 23 de abril de 2021. A função `yearstart()` retorna o primeiro milissegundo do ano anterior, 1º de janeiro de 2020 às 12:00:00, para o campo "`previous_year_start`".

## Exemplo 3: first\_month\_of\_year

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearstart.htm)

#### Script de carregamento e resultados

Visão geral

São usados o mesmo conjunto de dados e cenário do primeiro exemplo.

No entanto, neste exemplo, a política da empresa é para o ano começar a partir de 1º de abril.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
    Load 
       *, 
       yearstart(date,0,4) as year_start, 
       timestamp(yearstart(date,0,4)) as year_start_timestamp 
       ; 
Load
* 
Inline  
[
id,date,amount 
8188,01/13/2020,37.23 
8189,02/26/2020,17.17 
8190,03/27/2020,88.27 
8191,04/16/2020,57.42 
8192,05/21/2020,53.80 
8193,08/14/2020,82.06 
8194,10/07/2020,40.39 
8195,12/05/2020,87.21 
8196,01/22/2021,95.93 
8197,02/03/2021,45.89 
8198,03/17/2021,36.23 
8199,04/23/2021,25.66 
8200,05/04/2021,82.77 
8201,06/30/2021,69.98 
8202,07/26/2021,76.11 
8203,12/27/2021,25.12 
8204,06/06/2022,46.23 
8205,07/18/2022,84.21 
8206,11/14/2022,96.24 
8207,12/12/2022,67.67 
];  
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `id`
* `date`
* `year_start`
* `year_start_timestamp`

Tabela de resultados

| id | date | year\_start | year\_start\_timestamp |
| --- | --- | --- | --- |
| 8188 | 01/13/2020 | 04/01/2019 | 4/1/2019 12:00:00 AM |
| 8189 | 02/26/2020 | 04/01/2019 | 4/1/2019 12:00:00 AM |
| 8190 | 03/27/2020 | 04/01/2019 | 4/1/2019 12:00:00 AM |
| 8191 | 04/16/2020 | 04/01/2020 | 4/1/2020 12:00:00 AM |
| 8192 | 05/21/2020 | 04/01/2020 | 4/1/2020 12:00:00 AM |
| 8193 | 08/14/2020 | 04/01/2020 | 4/1/2020 12:00:00 AM |
| 8194 | 10/07/2020 | 04/01/2020 | 4/1/2020 12:00:00 AM |
| 8195 | 12/05/2020 | 04/01/2020 | 4/1/2020 12:00:00 AM |
| 8196 | 01/22/2021 | 04/01/2020 | 4/1/2020 12:00:00 AM |
| 8197 | 02/03/2021 | 04/01/2020 | 4/1/2020 12:00:00 AM |
| 8198 | 03/17/2021 | 04/01/2020 | 4/1/2020 12:00:00 AM |
| 8199 | 04/23/2021 | 04/01/2021 | 4/1/2021 12:00:00 AM |
| 8200 | 05/04/2021 | 04/01/2021 | 4/1/2021 12:00:00 AM |
| 8201 | 06/30/2021 | 04/01/2021 | 4/1/2021 12:00:00 AM |
| 8202 | 07/26/2021 | 04/01/2021 | 4/1/2021 12:00:00 AM |
| 8203 | 12/27/2021 | 04/01/2021 | 4/1/2021 12:00:00 AM |
| 8204 | 06/06/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 8205 | 07/18/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 8206 | 11/14/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 8207 | 12/12/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |

Nesse caso, como o argumento `first_month_of_year` de `4` é usado na função `yearstart()`, ele define o primeiro dia do ano como 1º de abril e o último dia do ano como 31 de março.

Diagrama da função `yearstart()` com o primeiro mês definido como abril.

Diagrama da função `yearstart()` com o primeiro mês definido como abril.

Diagrama da função `yearstart()`yearstart() com o primeiro mês definido como abril. ![Diagrama que mostra a função yearstart() com o primeiro mês do ano definido como abril.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearstart-example3-diagram.png)

A transação 8199 ocorreu em 23 de abril de 2021. Como a função `yearstart()` define o início do ano como 1º de abril, ela o retorna como o valor "`year_start`" para a transação.

## Exemplo 4: Exemplo de objeto de gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearstart.htm)

#### Script de carregamento e expressão de gráfico

Visão geral

São usados o mesmo conjunto de dados e cenário do primeiro exemplo.

No entanto, neste exemplo, o conjunto de dados permanece inalterado e é carregado no aplicativo. O cálculo que retorna o carimbo de data/hora de início do ano em que uma transação ocorreu é criado como uma medida em um objeto de gráfico do aplicativo.

Script de carregamento

```
Transactions: 
Load 
*
Inline  
[ 
id,date,amount 
8188,01/13/2020,37.23 
8189,02/26/2020,17.17 
8190,03/27/2020,88.27 
8191,04/16/2020,57.42 
8192,05/21/2020,53.80 
8193,08/14/2020,82.06 
8194,10/07/2020,40.39 
8195,12/05/2020,87.21 
8196,01/22/2021,95.93 
8197,02/03/2021,45.89 
8198,03/17/2021,36.23 
8199,04/23/2021,25.66 
8200,05/04/2021,82.77 
8201,06/30/2021,69.98 
8202,07/26/2021,76.11 
8203,12/27/2021,25.12 
8204,06/06/2022,46.23 
8205,07/18/2022,84.21 
8206,11/14/2022,96.24 
8207,12/12/2022,67.67 
]; 
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `id`
* `date`

Para calcular em qual ano uma transação ocorreu, crie as seguintes medidas:

* `=yearstart(date)`
* `=timestamp(yearstart(date))`

Tabela de resultados

| id | date | =yearstart(date) | =timestamp(yearstart(date)) |
| --- | --- | --- | --- |
| 8188 | 06/06/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 8189 | 07/18/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 8190 | 11/14/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 8191 | 12/12/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 8192 | 01/22/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8193 | 02/03/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8194 | 03/17/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8195 | 04/23/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8196 | 05/04/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8197 | 06/30/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8198 | 07/26/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8199 | 12/27/2021 | 01/01/2021 | 1/1/2021 12:00:00 AM |
| 8200 | 01/13/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8201 | 02/26/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8202 | 03/27/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8203 | 04/16/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8204 | 05/21/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8205 | 08/14/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8206 | 10/07/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |
| 8207 | 12/05/2020 | 01/01/2020 | 1/1/2020 12:00:00 AM |

A medida "`start_of_year`" é criada no objeto de gráfico usando a função `yearstart()` e transmitindo o campo de data como argumento da função.

A função `yearstart()` identifica inicialmente em qual ano o valor da data cai e retorna um carimbo de data/hora para o primeiro milissegundo daquele ano.

Diagrama da função `yearstart()` e a transação 8199.

Diagrama da função `yearstart()` e a transação 8199.

Diagrama da função `yearstart()`yearstart() e a transação 8199. ![O diagrama que mostra a função yearstart() identifica o ano em que a transação 8199 ocorre e o carimbo de data/hora do início desse ano.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-yearstart-example4-diagram.png)

A transação 8199 ocorreu em 23 de abril de 2021. A função `yearstart()` retorna o primeiro milissegundo daquele ano, que é 1º de janeiro às 12:00:00 AM.

## Exemplo 5: Cenário

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/yearstart.htm)

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.

O script de carregamento contém:

* Um conjunto de dados é carregado em uma tabela chamada "Loans". A tabela contém os seguintes campos:

  * IDs de empréstimo.

  * O saldo no início do ano.

  * A taxa de juros simples cobrada em cada empréstimo por ano.

O usuário final deseja um objeto de gráfico que mostre, por ID de empréstimo, os juros atuais que foram acumulados em cada empréstimo no ano até o momento.

Script de carregamento

```
Loans: 
Load 
* 
Inline  
[ 
loan_id,start_balance,rate 
8188,$10000.00,0.024 
8189,$15000.00,0.057 
8190,$17500.00,0.024 
8191,$21000.00,0.034 
8192,$90000.00,0.084 
]; 
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* loan\_id

* start\_balance

Para calcular os juros acumulados, crie a seguinte medida:

=start\_balance\*(rate\*(today(1)-yearstart(today(1)))/365)

Defina o Formato numérico da medida como Dinheiro.

Tabela de resultados

| loan\_id | start\_balance | =start\_balance\*(rate\*(today(1)-yearstart(today(1)))/365) |
| --- | --- | --- |
| 8188 | $10000.00 | $39.73 |
| 8189 | $15000.00 | $339.66 |
| 8190 | $17500.00 | $166.85 |
| 8191 | $21000.00 | $283.64 |
| 8192 | $90000.00 | $3003.29 |

A função yearstart(), usando a data de hoje como seu único argumento, retorna a data de início do ano atual. Ao subtrair esse resultado da data atual, a expressão retorna o número de dias decorridos até o momento neste ano.

Esse valor é então multiplicado pela taxa de juros e dividido por 365 para retornar a taxa de juros efetiva do período. A taxa de juros efetiva do período é então multiplicada pelo saldo inicial do empréstimo para retornar os juros que foram acumulados neste ano até o momento.