Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

version/3.0: Add a 'time' format #358

Closed
wking opened this issue May 7, 2015 · 4 comments
Closed

version/3.0: Add a 'time' format #358

wking opened this issue May 7, 2015 · 4 comments

Comments

@wking
Copy link

wking commented May 7, 2015

Spun off from #355 to avoid PRs which don't attract comments ;).

Having human-readable times that are not associated with dates is
frequently useful. For example, this lets you say things like:

  • "tea is at 3:15pm" (localtime)
  • "the weekly meeting is at 12:00 UTC"

Using the ISO 8061 time formats should make it easy for both
people and software to interact with the values.

Since Swagger-specified APIs are often consumed and produced from
JavaScript, and since JavaScript has limited time-handling
capabilities, I thought I'd dig a bit deeper in that direction.
Support for date-less ISO 8601 times in native JavaScript is unclear,
but Firefox 31.5 in seems to support times with a 'T' prefix:

new Date('12:34')
Invalid Date
new Date('T12:34')
Date 1970-01-01T20:34:00.000Z
new Date('T12:34Z')
Date 1970-01-01T12:34:00.000Z

which, in conjunction with Date.prototype.toTimeString() and other
time-specific maniplations is probably sufficient for most purposes.
Chromium 41.0, on the other hand, gave 'Invalid Date' warnings for
each of those cases, so JavaScript consumers may want to pad their
times with dummy date information. Moment.js also requires a date
part and doesn't support stand-alone times.

On the other hand, there are time-only pickers in JavaScript.

Python also has a time-only format as does Java. Go just
has a date-time type, but it can parse time-only strings.

@wking wking changed the title version/3.0: Add a 'time' type version/3.0: Add a 'time' format May 7, 2015
@ralfhandl
Copy link
Contributor

+1: OData also has a TimeOfDay primitive type which can now only be represented as a string. We use partial-time format from RFC3339

@webron
Copy link
Member

webron commented Jul 21, 2016

Tackling PR: #741

@webron
Copy link
Member

webron commented Feb 22, 2017

Will be tackled in #845 instead.

@webron
Copy link
Member

webron commented Mar 2, 2017

Closing as all issues will be tackled there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants