<p>I want to calculate the length of time between time ta and time tb.<br>Time ta is a String looking like &quot;N:NNAM&quot; or &quot;N:NNPM.&quot;<br>I need tb to be 9:30AM on the current date.</p>
<p>I think the flow should be<br>1) parse ta to utcTimeA :: UTCTime<br>2) get current date and form tb to utcTimeB :: UTCTime<br>3) call &quot;diffUTCTime utcTimeA utcTimeB&quot;</p>
<p>So my program looks like as follows in a &quot;do&quot; expression:</p>
<p>    let utcTimeA = fromJust (parseTime defaultTimeLocale &quot;%R%P&quot; ta :: Maybe UTCTime)<br>    currentTime &lt;- getCurrentTime<br>    let day = utctDay currentTime<br>    let utcTimeB = UTCTime day &quot;09:30:00.0000000 UTC&quot;<br>
    let timeElapsed = diffUTCTime utcTimeA utcTimeB</p>
<p>There are two difficulties I could not get around:<br>1) It seems that parseTime returns &quot;Nothing&quot;. Why?<br>2) I knew &quot;09:30:00.0000000 UTC&quot; in the statement of &quot;let utcTimeB ...&quot; is incorrect, because it is a String instead of expected DiffTime type. After consulting Data.Time module (it just say &quot;Data DiffTime&quot;), I still cannot figure out how to get utcTimeB.</p>

<p>Can someone help me?</p>
<p>Thanks,</p>
<p>Hong</p>