Checking for invalid date in bash script2019 Community Moderator Electiondate - years prior to 1901 are treated as invalidHow to use the date command to find out what date “monday week 40” will be?Date calculation in script for notification alertsbash script that reads user input and uses “cal” command to validate datesUnix date format validation scriptSet yesterday Date in script special for MondayOutputting date from an array with bashHow to save psql error message output in bash variable?Set file modification date from date stored as filenameChecking whether a date is within the next week

Should QA ask requirements to developers?

Unreachable code, but reachable with exception

Are there historical instances of the capital of a colonising country being temporarily or permanently shifted to one of its colonies?

PTIJ: How can I halachically kill a vampire?

How can The Temple of Elementary Evil reliably protect itself against kinetic bombardment?

Do items de-spawn in Diablo?

Can one live in the U.S. and not use a credit card?

Is it true that real estate prices mainly go up?

Offered promotion but I'm leaving. Should I tell?

Can someone explain what is being said here in color publishing in the American Mathematical Monthly?

What are some noteworthy "mic-drop" moments in math?

How to share a mine of irresistable resources in the middle of an ocean without conflict?

Why does the negative sign arise in this thermodynamic relation?

How do I express some one as a black person?

Why doesn't this Google Translate ad use the word "Translation" instead of "Translate"?

UART pins to unpowered MCU?

Bash script should only kill those instances of another script's that it has launched

Accepted offer letter, position changed

Is there an equal sign with wider gap?

Why is there a voltage between the mains ground and my radiator?

infinitive telling the purpose

How much damage does the AC boost from a shield prevent on average?

How much stiffer are 23c tires over 28c?

Why is this plane circling around the LKO airport every day?



Checking for invalid date in bash script



2019 Community Moderator Electiondate - years prior to 1901 are treated as invalidHow to use the date command to find out what date “monday week 40” will be?Date calculation in script for notification alertsbash script that reads user input and uses “cal” command to validate datesUnix date format validation scriptSet yesterday Date in script special for MondayOutputting date from an array with bashHow to save psql error message output in bash variable?Set file modification date from date stored as filenameChecking whether a date is within the next week










0















I am checking for a valid date scrpt.bash test 2019-05-03



date -d $2 2>: 1>:; c=$?


If $c is 1 then the date is invalid. If I enter 2019-05-03 I will get a 0 which is correct. If i enter 2019-05-03u I get a 0 which is incorrect. I can enter 2019-05-03uu then it throws an error. How can I just check if the date is valid.










share|improve this question

















  • 1





    Is the date always provided in this format? 2019-05-03

    – Luciano Andress Martini
    1 hour ago











  • Have you try date -d $2 && c=$?

    – Romeo Ninov
    1 hour ago











  • Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.

    – Luciano Andress Martini
    1 hour ago







  • 1





    date is valid against what criteria? Against what your date -d supports?

    – Stéphane Chazelas
    1 hour ago















0















I am checking for a valid date scrpt.bash test 2019-05-03



date -d $2 2>: 1>:; c=$?


If $c is 1 then the date is invalid. If I enter 2019-05-03 I will get a 0 which is correct. If i enter 2019-05-03u I get a 0 which is incorrect. I can enter 2019-05-03uu then it throws an error. How can I just check if the date is valid.










share|improve this question

















  • 1





    Is the date always provided in this format? 2019-05-03

    – Luciano Andress Martini
    1 hour ago











  • Have you try date -d $2 && c=$?

    – Romeo Ninov
    1 hour ago











  • Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.

    – Luciano Andress Martini
    1 hour ago







  • 1





    date is valid against what criteria? Against what your date -d supports?

    – Stéphane Chazelas
    1 hour ago













0












0








0


1






I am checking for a valid date scrpt.bash test 2019-05-03



date -d $2 2>: 1>:; c=$?


If $c is 1 then the date is invalid. If I enter 2019-05-03 I will get a 0 which is correct. If i enter 2019-05-03u I get a 0 which is incorrect. I can enter 2019-05-03uu then it throws an error. How can I just check if the date is valid.










share|improve this question














I am checking for a valid date scrpt.bash test 2019-05-03



date -d $2 2>: 1>:; c=$?


If $c is 1 then the date is invalid. If I enter 2019-05-03 I will get a 0 which is correct. If i enter 2019-05-03u I get a 0 which is incorrect. I can enter 2019-05-03uu then it throws an error. How can I just check if the date is valid.







bash date error-handling






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 1 hour ago









user3525290user3525290

1153




1153







  • 1





    Is the date always provided in this format? 2019-05-03

    – Luciano Andress Martini
    1 hour ago











  • Have you try date -d $2 && c=$?

    – Romeo Ninov
    1 hour ago











  • Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.

    – Luciano Andress Martini
    1 hour ago







  • 1





    date is valid against what criteria? Against what your date -d supports?

    – Stéphane Chazelas
    1 hour ago












  • 1





    Is the date always provided in this format? 2019-05-03

    – Luciano Andress Martini
    1 hour ago











  • Have you try date -d $2 && c=$?

    – Romeo Ninov
    1 hour ago











  • Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.

    – Luciano Andress Martini
    1 hour ago







  • 1





    date is valid against what criteria? Against what your date -d supports?

    – Stéphane Chazelas
    1 hour ago







1




1





Is the date always provided in this format? 2019-05-03

– Luciano Andress Martini
1 hour ago





Is the date always provided in this format? 2019-05-03

– Luciano Andress Martini
1 hour ago













Have you try date -d $2 && c=$?

– Romeo Ninov
1 hour ago





Have you try date -d $2 && c=$?

– Romeo Ninov
1 hour ago













Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.

– Luciano Andress Martini
1 hour ago






Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.

– Luciano Andress Martini
1 hour ago





1




1





date is valid against what criteria? Against what your date -d supports?

– Stéphane Chazelas
1 hour ago





date is valid against what criteria? Against what your date -d supports?

– Stéphane Chazelas
1 hour ago










1 Answer
1






active

oldest

votes


















1














If date is always provided in this format: '2019-05-03', this will probably work always:



#!/bin/sh -

if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi





share|improve this answer

























  • This is good for Linux (date from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)

    – Christopher
    1 hour ago












  • Thank you for the information.

    – Luciano Andress Martini
    1 hour ago










Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f505886%2fchecking-for-invalid-date-in-bash-script%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














If date is always provided in this format: '2019-05-03', this will probably work always:



#!/bin/sh -

if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi





share|improve this answer

























  • This is good for Linux (date from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)

    – Christopher
    1 hour ago












  • Thank you for the information.

    – Luciano Andress Martini
    1 hour ago















1














If date is always provided in this format: '2019-05-03', this will probably work always:



#!/bin/sh -

if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi





share|improve this answer

























  • This is good for Linux (date from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)

    – Christopher
    1 hour ago












  • Thank you for the information.

    – Luciano Andress Martini
    1 hour ago













1












1








1







If date is always provided in this format: '2019-05-03', this will probably work always:



#!/bin/sh -

if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi





share|improve this answer















If date is always provided in this format: '2019-05-03', this will probably work always:



#!/bin/sh -

if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi






share|improve this answer














share|improve this answer



share|improve this answer








edited 1 hour ago









Stéphane Chazelas

309k57582944




309k57582944










answered 1 hour ago









Luciano Andress MartiniLuciano Andress Martini

3,9531036




3,9531036












  • This is good for Linux (date from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)

    – Christopher
    1 hour ago












  • Thank you for the information.

    – Luciano Andress Martini
    1 hour ago

















  • This is good for Linux (date from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)

    – Christopher
    1 hour ago












  • Thank you for the information.

    – Luciano Andress Martini
    1 hour ago
















This is good for Linux (date from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)

– Christopher
1 hour ago






This is good for Linux (date from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)

– Christopher
1 hour ago














Thank you for the information.

– Luciano Andress Martini
1 hour ago





Thank you for the information.

– Luciano Andress Martini
1 hour ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f505886%2fchecking-for-invalid-date-in-bash-script%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







-bash, date, error-handling

Popular posts from this blog

Frič See also Navigation menuinternal link

Identify plant with long narrow paired leaves and reddish stems Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What is this plant with long sharp leaves? Is it a weed?What is this 3ft high, stalky plant, with mid sized narrow leaves?What is this young shrub with opposite ovate, crenate leaves and reddish stems?What is this plant with large broad serrated leaves?Identify this upright branching weed with long leaves and reddish stemsPlease help me identify this bulbous plant with long, broad leaves and white flowersWhat is this small annual with narrow gray/green leaves and rust colored daisy-type flowers?What is this chilli plant?Does anyone know what type of chilli plant this is?Help identify this plant

fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown “element blank” The 2019 Stack Overflow Developer Survey Results Are In“tar: unrecognized option --warning” during 'apt-get install'How to fix Fontconfig errorHow do I figure out which font file is chosen for a system generic font alias?Why are some apt-get-installed fonts being ignored by fc-list, xfontsel, etc?Reload settings in /etc/fonts/conf.dTaking 30 seconds longer to boot after upgrade from jessie to stretchHow to match multiple font names with a single <match> element?Adding a custom font to fontconfigRemoving fonts from fontconfig <match> resultsBroken fonts after upgrading Firefox ESR to latest Firefox