# What does Dates.hour(now(Dates.UTC)) return? Time in UTC?

**URL:** <https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858>\
**Category:** General Usage\
**Tags:** question\
**Created:** [March 30, 2023, 7:50pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858 "2023-03-30T19:50:37Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [March 30, 2023, 7:50pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/1 "2023-03-30T19:50:37Z")

</div>

Can I use it to get an estimate of the Time Zone (less the day light saving shift)?  
My intention is to get an approximate longitude of users location.

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [March 30, 2023, 8:41pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/2 "2023-03-30T20:41:01Z")

</div>

It gives you whatever is set as the system time, which doesn’t necessarily correspond to physical location. Some servers are exclusively configured with UTC+0 as their local time, regardless of physical location. It’s not really a good proxy variable for getting the longitude of a user.

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [March 30, 2023, 8:44pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/3 "2023-03-30T20:44:29Z")

</div>

```julia
using Dates, TimeZones

function approx_longitude()
   # 15 degrees per hour
    (((now(localzone())).zone.offset.std.value) / (60*60)) * 15 
end

```

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [March 30, 2023, 9:29pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/4 "2023-03-30T21:29:10Z")

</div>

Thank, I know about TimeZones but I don’t want to add a package dependency for this.

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [March 30, 2023, 9:39pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/5 "2023-03-30T21:39:12Z")

</div>

Short of querying that though, your only other semi-reliable option is to ask the user (or use an explicit location API of the OS) 🤷 There’s a reason web browsers abstracted that away - most proxy variables for this aren’t reliable at all, not even checking the IP address.

---

<div class="post-metadata">

**Author:** ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)\
**Post date:** [March 30, 2023, 9:42pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/6 "2023-03-30T21:42:27Z")

</div>

Here’s what TimeZones.jl does

> <https://github.com/JuliaTime/TimeZones.jl/blob/c19864a60506e596b6f283845d902501e796571b/src/local.jl#L14>

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [March 30, 2023, 9:51pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/7 "2023-03-30T21:51:22Z")

</div>

Guys, thanks for suggestions but I only wanted that the following map showing the the daylight terminators would center the map on user ~longitude. Not really important so that’s why I don’t want to add a dependency for it.

```julia
using GMT
solar(proj=:ortho, coast=true, terminators=:d, fill="navy@75", show=1)

```

 ![GMTjl_tmp](https://global.discourse-cdn.com/julialang/original/3X/d/5/d5594fb01f7ee5b6c9b692d7dca5ea14c5bd7dce.png)

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [April 1, 2023, 8:30am UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/8 "2023-04-01T08:30:17Z")

</div>

> [@joa-quim](#):
>
> … center the map on user ~longitude

FWIW, [this SO solution](https://stackoverflow.com/a/41497103/14071775) prints the user IP lat-lon:

```julia
str = read(`curl ipinfo.io/loc`, String)

lon = last(split(chomp(str), ","))

```

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [April 1, 2023, 2:25pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/9 "2023-04-01T14:25:26Z")

</div>

Thanks, and very fast.

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [April 1, 2023, 2:54pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/10 "2023-04-01T14:54:55Z")

</div>

@joa-quim, would it be possible to show the full GMT example that centers the Earth map by longitude (and the daylight limits by local time) at the user’s location?

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [April 1, 2023, 6:06pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/11 "2023-04-01T18:06:45Z")

</div>

I think that in current version  
“solar()”  
plots a map like I showed. For more examples see the solar man page and examples. To see the manual type  
@? solar

(Sorry, I’m in travel)

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [April 1, 2023, 11:38pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/12 "2023-04-01T23:38:26Z")

</div>

While I don’t integrate this into a more automatic way, you can do

```julia
split(readlines(`curl -s ipinfo.io/loc`)[1], ",")
2-element Vector{SubString{String}}:
 "38.7167"
 "-9.1333"

solar(proj=(name=:ortho, center=(-9.1, 38.7)), terminators=:d, fill="navy@75", coast=true, show=1)

```

And ofc you can use other projections and even add more _terminators_ (twilights)

 ![GMTjl_tmp-fs8](https://global.discourse-cdn.com/julialang/original/3X/3/8/3802db121b6dde40702f6ecdc74bd6fbf195eeb3.png)

---

<div class="post-metadata">

**Author:** ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)\
**Post date:** [April 1, 2023, 11:47pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/13 "2023-04-01T23:47:14Z")

</div>

FWIW some people might not want a library making web requests unexpectedly.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [April 1, 2023, 11:50pm UTC](https://discourse.julialang.org/t/what-does-dates-hour-now-dates-utc-return-time-in-utc/96858/14 "2023-04-01T23:50:13Z")

</div>

As is it is not _unexpectedly_. And when implemented it will be a documented option. So, a volunteer usage.
