Скрипт UNIX, который подсчитывает, сколько дней и часов осталось до дня рождения человека - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь создать сценарий UNIX, который подсчитывает, сколько дней и часов осталось до дня рождения, который вводит пользователь.Я могу только заставить пользователя ввести его день рождения и разделить его на дни, месяц и год, а также информацию о текущей дате, но я думаю, что вычитал неправильно

echo -n "Enter the birthdate (mm-dd-yyyy): "
read bdate
bmonth=${bdate:0:2}
bday=${bdate:3:2}
byear=${bdate:6:4}`
`cdate='date +%m-%d-%Y'/
cmonth=${cdate:0:2}
cday=${cdate:3:2}
cyear=${cdate:6:4}
diffdays=$(( ($bdate - $cdate) / (60*60*24) ))
echo $difdays

1 Ответ

0 голосов
/ 17 февраля 2019

Ниже работает.

#!/bin/bash
## Just using a YYYY-MM-DD format
echo -n "Enter the birthdate (YYYY-MM-DD):"
read bdate
## convert to epoch time
bdate=`date -d "${bdate}" +"%s"`
## convert to epoch time
current_date=`date  +"%s"`
## perform a calculation divide to find the no. of days
echo $(($((bdate - current_date)) / 86400))
...