5 ms·
Show HN: An easy way to convert time
- pcunite 9y agoI've been using epochconverter.com for several years. Thank you for the effort. I like to break things. So, don't worry about this. But, it will not process 10413795600?
- stephengillie 9y agoJanuary 1, 2300 1:00 AM? What's the significance of that date? In Powershell, it's a one-liner. PS C:\> (Get-Date 1/1/1970).addSeconds(10413795600) Monday, January 01, 2300 1:00:00 AM
- thieving_magpie 9y agoIt looks like the max value is 9999999999. "unix": 9999999999, "utc": "2286-11-20T17:46:39Z" edit: No, I was very wrong. Adding another 9 seems to work. However, moving up one to 10000000000 does not. edit2: Okay I wasn't wrong. It just was changed by the OP very quickly. Which I guess makes this entire post wrong now. But let the record reflect for a very brief period in my life I was correct.
- Prefinem 9y agoYup, good catch.
- Prefinem 9y agoWow... thanks for that. I had a silly check for length of unix time stamp (so it can handle things like Date.now()) Should be fixed now
- avg_dev 9y agoNeat site. How does it know my local time?
- edpichler 9y agoGetting of your browser?
- avg_dev 9y agoYes - but how? I looked at the HTTP headers I was sending and none of them contained the time zone.
- secstate 9y agoIP sniffing?
- leovander 9y agoLooking at the response headers, could they be inferring the timezone based on what cloud front server the user hits? Edit: This is probably way over thinking it, but here are the Amazon data center IP's. Search "CLOUDFRONT" https://ip-ranges.amazonaws.com/ip-ranges.json https://ip-ranges.amazonaws.com/ip-ranges.json to see the list of regions.
- Falling3 9y agoIP geolocation - try it from a proxy.
- Prefinem 9y agoGeo lookup on your IP to get a time zone. Easy to spoof with a proxy / vpn.
- schoen 9y agoI can see that this might be useful for interactive human use, but I'm not sure of the benefit of the API. Most popular programming languages have a library to do this already without relying on a network service. Unix command line with GNU date: date --iso-8601=seconds date --iso-8601=seconds -u # UTC date --iso-8601=seconds -d @1234567890 # specified time stamp date -d 2017-06-29T12:28:57-07:00 +%s # other direction Python: https://stackoverflow.com/questions/2150739/iso-time-iso-8601-in-python https://stackoverflow.com/questions/2150739/iso-time-iso-860... Using a network API for this kind of conversion function that's already built into programming languages reminds me of the left-pad controversy. You don't need to outsource basic programming tasks to third-party libraries, and you also don't need to outsource them to third-party network services.
- avg_dev 9y agoI don't think of it as an API to integrate into your service, but more of an easy to remember thing like http://http.cat/503 http://http.cat/503 http://http.cat/404 http://http.cat/404 etc.
- jrimbault 9y agoHow does this exist ? I like it.
- diggan 9y ago> but I'm not sure of the benefit of the API I agree, when talking about programming language, but maybe could be useful when using services like Zapier and similar, when you don't want to use a programming language for doing simple things or don't know programming.
- sprt 9y agoOver the years, I've noticed the best way to learn about shell one-liners is to read HN comments on programs that implement trivial functionality.
- Prefinem 9y agoCreator here. The API is definitely not useful for most programmatic things. Just a simple way to get the time if you don't have the ability to use bash or a programming language. I mostly wanted a way to copy a timestamp and type in a url to get a human readable time in local time. (https://epoch.sh/1498769628 https://epoch.sh/1498769628)
- eyelidlessness 9y agoIt's not clear how it detects which type you've passed, but this is pretty unexpected: https://api.epoch.sh/-100 https://api.epoch.sh/-100 `{"local":"0099-12-31T16:00:00-08:00","unix":-59011459200,"utc":"0100-01-01T00:00:00Z"}` This too: https://api.epoch.sh/8675309 https://api.epoch.sh/8675309 `{"local":"8675-11-04T16:00:00-08:00","unix":211615977600,"utc":"8675-11-05T00:00:00Z"}`
- Prefinem 9y agoThis should be fixed now. As others pointed out, had some bad validation
- eyelidlessness 9y agoWhy is `-100` invalid?
- Prefinem 9y agoYou know, I have no idea why I even checked for < 0 since it's seconds backwards since epoch. Just a mental snag I guess
- dwrowe 9y agoDoesn't seem to like any Unix timestamps less than 10 characters long?
- Prefinem 9y agoFixed. Silly me
- dkharrat 9y agoIt would also be useful to provide a way to convert the other way around (from a date to epoch). I actually built a similar tool a while ago: http://timeconv.io/ http://timeconv.io/ that's similar to yours :) The goal is to provide a set of useful time/date utilities.
- Prefinem 9y agoIt does https://epoch.sh/2017-06-29T20:57:08Z https://epoch.sh/2017-06-29T20:57:08Z
- mixmastamyk 9y agoFun, but I found this part interesting: ⏵ http https://api.epoch.sh/ HTTP/1.1 200 OK ... Date: Thu, 29 Jun 2017 21:06:20 GMT ... { "utc": "2017-06-29T21:06:19Z" } One second off. ;)
- ldenneau 9y agoDoes not handle leap seconds: https://api.epoch.sh/2016-12-31T23:59:60Z https://api.epoch.sh/2016-12-31T23:59:60Z Edge case, but 2016-12-31T23:59:60Z is a valid UTC time.
- Prefinem 9y agoI didn't even know that was possible...
- Klathmon 9y agoWelcome to the rabbit hole that is date/time handling.
- TazeTSchnitzel 9y agoIs this using a proper date/time library underneath, or did you write it yourself?
- Prefinem 9y agomoment.js mostly
- nategri 9y agoUm
- jaytaylor 9y ago@Prefinem Do you plan to release the site source code? I like it, a cool and useful project for sure.
- Prefinem 9y agoI could. It’s just a simple Lambda function. I will try and do so tomorrow.