PIC18 and RTCC combination
I found a software solution, I programmed the calendar in interuption.

this is the solution for PIC18F45K22 on TIMER 1 in low interupt.

if(PIR1bits.TMR1IF &amp;&amp; PIE1bits.TMR1IE)
  {
      PIR1bits.TMR1IF =0; /* Clear Interrupt Flag 1 */
      TMR1H = TMR1H_INIT;
      TMR1L = TMR1L_INIT;
      hal_clk_ITtask();
  }


and the hal_clk_ITtask();

void hal_clk_ITtask()
{
tmdt.f.sec ++;
if(tmdt.f.sec == 60)
{
    tmdt.f.min ++;
    tmdt.f.sec = 0;
}
if(tmdt.f.min == 60)
{
    tmdt.f.hour ++;
    tmdt.f.min = 0;
}
if(tmdt.f.hour == 24)
{
    tmdt.f.day ++;
    tmdt.f.hour = 0;
}
if(tmdt.f.day == 7)
{
    tmdt.f.day = 0;
}
}


but I can't be sure of the precision. I didn't test it for more than an hour.