#!/usr/bin/env bash # # Determine the quarter's timestamps # # Parameters BASENAME="`basename $0`" DIRNAME="`dirname $0`" QUARTER="$1" YEAR="`echo $QUARTER | cut -d . -f 1`" QUARTILE="`echo $QUARTER | cut -d . -f 2`" # Syntax check if [ -z "$QUARTILE" ]; then echo "usage: $BASENAME " echo "quarter format: YYYY.QQ" echo "example: 2024.Q3" exit 1 fi # Lookup table case $QUARTILE in Q1) BEGIN="01-01" END="03-31" ;; Q2) BEGIN="04-01" END="06-30" ;; Q3) BEGIN="07-01" END="09-30" ;; Q4) BEGIN="10-01" END="12-31" ;; esac # Determine the UNIX timestamp for the beginning and end of the quarter QUARTER_BEGIN="`date -d "${YEAR}-${BEGIN} 00:00:00 UTC" +%s`" QUARTER_END="`date -d "${YEAR}-${END} 00:00:00 UTC" +%s`" # Output echo "Quarter begins at UNIX timestamp $QUARTER_BEGIN ($YEAR-$BEGIN)" echo "Quarter ends et UNIX timestamp $QUARTER_END ($YEAR-$END)"