I took a calendar script posted to this list by Andrew Darby some time ago and made some changes. I don't think there is any of Andrew's code left, so I've rebranded it with an acknowledgement. (If I had my time again, I might have coded it from scratch rather than built it over Andrew's script, but that's somewhat academic.)
The whole scoop is in the readme on Github: http://github.com/LincolnUniLTL/calibr
TLDR: With PHP, MySQL, some fiddling and data entry, you can publish a library opening hours calendar on your website in more than one language if you wish. It's a little quicker to enter common period patterns than it used to be in Google Calendar. The output is more accessible, customisable, multilingual, semantic, and hopefully more extensible (iCal etc) than previously.
Here's a branded reference implementation: http://library2.lincoln.ac.nz/hours - it won't necessarily reflect the latest version.
Use it, improve it, feed back, or log issues right there on Github if that works for you.
Many thanks to Andrew for providing the foundation!
Digital Access Coordinator
Library, Teaching and Learning
p +64 3 423 0357
P Please consider the environment before you print this email.
"The contents of this e-mail (including any attachments) may be confidential and/or subject to copyright. Any unauthorised use, distribution, or copying of the contents is expressly prohibited. If you have received this e-mail in error, please advise the sender by return e-mail or telephone and then delete this e-mail together with all attachments from your system."