CCCPaste

bash shift calendar for Christmas

#!/bin/bash
###################################################################### 
#Copyright (C) 2021  Kris Occhipinti
#https://filmsbykris.com
 
#Calculate which shift works on Christmas (based on a 3 day cycle)
 
#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.
 
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.
 
#You should have received a copy of the GNU General Public License
#along with this program.  If not, see .
###################################################################### 

A="$(date -d 2013-05-01 +%s)"
B="$(date -d 2013-05-02 +%s)"
C="$(date -d 2013-05-03 +%s)"

christmas="$(date +%F -d "12/25")"

for i in {0..10}
do
  AA=$(( ( `date -d "$christmas" +%s` - $A ) / (24*3600)%3 ))
  BB=$(( ( `date -d "$christmas" +%s` - $B ) / (24*3600)%3 ))
  CC=$(( ( `date -d "$christmas" +%s` - $C ) / (24*3600)%3 ))

  [[ "$AA" == 0 ]] && echo "$christmas is A Shift"
  [[ "$BB" == 0 ]] && echo "$christmas is B Shift"
  [[ "$CC" == 0 ]] && echo "$christmas is C Shift"

  christmas=$(date -d "$christmas +1 year" +%Y-%m-%d)
done