Can you think of a reason why you would want to know your balance on an "specific date" instead of an "specific block height"?
An auditor may be trying to confirm that a business owed x bitcoins on y date as reflected in their business records. This verification may eventually be changed to '...as of block z..." but the auditor would need to know which blocks were found on y date.
A useful functionality might be for your program to allow a user to input a time zone and date, your program would output the starting and ending blocks found in that time, and the user can then make a query as of a specific block.