Today’s anonymous submitter has managed to find a way to do date formatting wrong that I don’t think I’ve seen yet. That’s always remarkable. Like most such bad code, it checks string lengths and then adds a leading zero, if needed. It’s not surprising, but again, it’s all in the details:
return dtmValue.Year + "-" + ((dtmValue.Month.ToString().Length == 1)? ("0" + dtmValue.Month.ToString()): dtmValue.Month.ToString()) + "-" + ((dtmValue.Day.ToString().Length == 1)? ("0" + dtmValue.Day.ToString()): dtmValue.Day.ToString());
This is only one line, but it has it all, doesn’t it. First, we’ve got good ol’ Hungarian notation, which conveys no useful information here. We’ve got a comment which tells us the code outputs /
es, but the code actually outputs -
. We’ve got ternaries that are definitely not helping readability here, plus repeated calls to ToString()
instead of maybe just storing the result in a variable.
And, for the record, dtmValue.ToString("yyyy-MM-dd")
would have done the correct thing.
Keep all your packages and Docker containers in one place, scan for vulnerabilities, and control who can access different feeds. ProGet installs in minutes and has a powerful free version with a lot of great features that you can upgrade when ready.Learn more.