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

Creating 100m^2 grid automatically using QGIS?Creating grid constrained within polygon in QGIS?Createing polygon layer from point data using QGIS?Creating vector grid using QGIS?Creating grid polygons from coordinates using R or PythonCreating grid from spatio temporal point data?Creating fields in attributes table using other layers using QGISCreate .shp vector grid in QGISQGIS Creating 4km point grid within polygonsCreate a vector grid over a raster layerVector Grid Creates just one grid

Nikolai Prilezhaev Bibliography References External links Navigation menuEarly Russian Organic Chemists and Their Legacy092774english translationRussian Biography

How to link a C library to an Assembly library on Mac with clangHow do you set, clear, and toggle a single bit?Find (and kill) process locking port 3000 on MacWho is listening on a given TCP port on Mac OS X?How to start PostgreSQL server on Mac OS X?Compile assembler in nasm on mac osHow do I install pip on macOS or OS X?AFNetworking 2.0 “_NSURLSessionTransferSizeUnknown” linking error on Mac OS X 10.8C++ code for testing the Collatz conjecture faster than hand-written assembly - why?How to link a NASM code and GCC in Mac OS X?How to run x86 .asm on macOS Sierra