Comment aligner un inline-block horizontalement et verticalement

Quel est le meilleur/le plus propre à l'aide de CSS pour aligner les #dates div sur le côté droit de la tête, et verticalement dans le milieu.

J'ai essayé float: right, mais qui ne permettent pas la vertical-align. Je veux éviter d'utiliser des flotteurs, donc je suis en utilisant inline-block, et en utilisant le positionnement relatif. Est-il plus approprié?

Je n'aime pas le fait que j'ai à faire un top de 30px, et à l'aide d'essais et d'erreur jusqu'à ce qu'il centres.

<div id="header">
    <a id="logo" href="~/" runat="server">
        <img src="Images/Interface/logo.png" alt="logo" />
    </a>
    <div id="dates">
        <div id="hijri-date">2 Ramadhaan, 1435 AH</div>
        <div id="gregorian-date">Sunday 29 June 2014</div>
    </div>
</div>

#header
{
    background-color: white;
    padding: 15px;
    position: relative;
}

#logo
{
    display: inline-block;
    vertical-align: middle;
}

    #logo img
    {
        vertical-align: bottom; /* to get rid of text descender space underneath image */
    }

#dates
{
    display: inline-block;
    position: absolute;
    right: 30px;
    top: 30px;
    font-size: 14px;
    font-family: 'Open Sans';
    color: #696969;
    background: url(Images/Interface/date-icon.png) no-repeat;
    background-position-y: center;
    padding-left: 32px;
}

OriginalL'auteur sprocket12 | 2014-07-04