Wow, we've tried to solve this problem inhouse and our results are much worse than this.
One question, how hard is to detect that kind of expresions inside a random text? Like gmail does for suggesting a calendar appoinment within an email.
Even though the demo website expects the whole input to be a time expression, Duckling actually detects substrings inside a larger block of text.
We've mostly used it on short sentences, but it should work on larger inputs, like articles. I'd recommend splitting very large inputs into sentences though.