API de reposo gratuita para obtener la hora actual como cadena (zona horaria irrelevante)

Podría configurarlo yo mismo, pero la funcionalidad es tan simple que parece que otra persona probablemente ya lo hizo mejor y más rápido que con mi aplicación Rails.

Necesito la hora actual como una cadena. Me gustaría que volviera en menos de un segundo, donde sea que mi visitante esté en el mundo. (Estoy haciendo un temporizador de cuenta regresiva, y necesita ser más preciso que el tiempo de computación posiblemente apagado de un usuario). Puede ser hora GMT. No importa, siempre que indique la zona horaria (como “2012-11-05 16:16:50 EST”).

(Podría construirlo yo mismo, por supuesto. Es una API simple. Pero mis servidores están en la costa este de los EE. UU., Y estoy trabajando en una stack completa de Rails. Filtrar a alguien a través de una gran stack de software como Rails solo para devolver una cuerda parece poco elegante, y estoy preocupado por la latencia para los visitantes que se encuentran lejos de la costa este de EE. UU.)

TimezoneDb proporciona una API gratuita: http://timezonedb.com/api

GenoNames también tiene una API RESTful disponible para obtener la hora actual de una ubicación determinada: http://www.geonames.org/export/ws-overview.html .

Puede usar Greenwich, Reino Unido si desea GMT.

Esta API le brinda la hora actual y varios formatos en JSON – https://www.mashape.com/parsify/format#endpoint-Time . Aquí hay una respuesta de muestra:

 { "time": { "daysInMonth": 31, "millisecond": 283, "second": 42, "minute": 55, "hour": 1, "date": 6, "day": 3, "week": 10, "month": 2, "year": 2013, "zone": "+0000" }, "formatted": { "weekday": "Wednesday", "month": "March", "ago": "a few seconds", "calendar": "Today at 1:55 AM", "generic": "2013-03-06T01:55:42+00:00", "time": "1:55 AM", "short": "03/06/2013", "slim": "3/6/2013", "hand": "Mar 6 2013", "handTime": "Mar 6 2013 1:55 AM", "longhand": "March 6 2013", "longhandTime": "March 6 2013 1:55 AM", "full": "Wednesday, March 6 2013 1:55 AM", "fullSlim": "Wed, Mar 6 2013 1:55 AM" }, "array": [ 2013, 2, 6, 1, 55, 42, 283 ], "offset": 1362534942283, "unix": 1362534942, "utc": "2013-03-06T01:55:42.283Z", "valid": true, "integer": false, "zone": 0 } 

Si está utilizando Rails, puede hacer un archivo vacío en la carpeta pública y usar ajax para obtenerlo. A continuación, analice los encabezados del encabezado Fecha. Los archivos de la carpeta pública omiten la stack de Rails y, por lo tanto, tienen una latencia menor.