72 lines
2.0 KiB
Plaintext
72 lines
2.0 KiB
Plaintext
_time_parse_helper() {
|
|
if [ "$#" -eq 0 ]; then
|
|
echo "Usage: <date>"
|
|
exit 1
|
|
fi
|
|
|
|
echo $1
|
|
|
|
if [[ "$(echo $1 | sed 's/\"//g' | sed 's/,//')" =~ ^([0-9]{1,2})[[:space:]]+(.+)[[:space:]]+([0-9]{4})$ ]]; then
|
|
_time_parse_ddmonyyyy "$1"
|
|
elif [[ "$(echo $1 | sed 's/\"//g' | sed 's/,//')" =~ ^(.+)[[:space:]]+([0-9]{1,2})[[:space:]]+([0-9]{4})$ ]]; then
|
|
_time_parse_monddyyyy "$1"
|
|
else
|
|
echo "COULD NOT FIGURE OUT DATE FORMAT!"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
_time_parse_monddyyyy() {
|
|
if [ "$#" -eq 0 ]; then
|
|
echo "Usage: <date in mon dd yyyy>"
|
|
exit 1
|
|
fi
|
|
|
|
ITEM_MONTH_WORD=$(echo "$1" | sed -E 's/^([A-Za-z]+) .*/\1/' | sed 's/^[ \t]*//;s/[ \t]*$//')
|
|
ITEM_DAY_SHORT=$(echo "$1" | sed -E 's/^[A-Za-z]+ ([0-9]+),.*/\1/' | sed 's/^[ \t]*//;s/[ \t]*$//')
|
|
ITEM_DAY=$(printf "%02d" $ITEM_DAY_SHORT)
|
|
ITEM_YEAR=$(echo "$1" | sed -E 's/^[A-Za-z]+ [0-9]+, ([0-9]+).*/\1/' | sed 's/^[ \t]*//;s/[ \t]*$//')
|
|
case "$ITEM_MONTH_WORD" in
|
|
Jan*) ITEM_MONTH="01" ;;
|
|
Feb*) ITEM_MONTH="02" ;;
|
|
Mar*) ITEM_MONTH="03" ;;
|
|
Apr*) ITEM_MONTH="04" ;;
|
|
May) ITEM_MONTH="05" ;;
|
|
Jun*) ITEM_MONTH="06" ;;
|
|
Jul*) ITEM_MONTH="07" ;;
|
|
Aug*) ITEM_MONTH="08" ;;
|
|
Sep*) ITEM_MONTH="09" ;;
|
|
Oct*) ITEM_MONTH="10" ;;
|
|
Nov*) ITEM_MONTH="11" ;;
|
|
Dec*) ITEM_MONTH="12" ;;
|
|
*) ITEM_MONTH="--" ;;
|
|
esac
|
|
}
|
|
|
|
_time_parse_ddmonyyyy() {
|
|
if [ "$#" -eq 0 ]; then
|
|
echo "Usage: <date in dd mon yyyy>"
|
|
exit 1
|
|
fi
|
|
|
|
ITEM_MONTH_WORD=$(echo "$1" | sed 's/^[^ ]* //' | sed 's/ .*//')
|
|
ITEM_DAY_SHORT=$(echo "$1" | sed 's/ .*//')
|
|
ITEM_DAY=$(printf "%02d" $ITEM_DAY_SHORT)
|
|
ITEM_YEAR=$(echo "$1" | sed 's/.* //')
|
|
case "$ITEM_MONTH_WORD" in
|
|
Jan*) ITEM_MONTH="01" ;;
|
|
Feb*) ITEM_MONTH="02" ;;
|
|
Mar*) ITEM_MONTH="03" ;;
|
|
Apr*) ITEM_MONTH="04" ;;
|
|
May) ITEM_MONTH="05" ;;
|
|
Jun*) ITEM_MONTH="06" ;;
|
|
Jul*) ITEM_MONTH="07" ;;
|
|
Aug*) ITEM_MONTH="08" ;;
|
|
Sep*) ITEM_MONTH="09" ;;
|
|
Oct*) ITEM_MONTH="10" ;;
|
|
Nov*) ITEM_MONTH="11" ;;
|
|
Dec*) ITEM_MONTH="12" ;;
|
|
*) ITEM_MONTH="--" ;;
|
|
esac
|
|
}
|