There's DateTime.to_string/1 which seems perfect to use, I'm looking into 
it:

iex(1)> DateTime.utc_now
#DateTime<2017-06-27 14:46:54.331343Z>

iex(3)> %DateTime{year: 2000, month: 2, day: 29, zone_abbr: "CET", hour: 23, 
minute: 0, second: 7, microsecond: {0, 0}, utc_offset: 3600, std_offset: 0, 
time_zone: "Europe/Warsaw"}
#DateTime<2000-02-29 23:00:07+01:00 CET Europe/Warsaw>


W dniu wtorek, 27 czerwca 2017 16:40:12 UTC+2 użytkownik Michał Muskała 
napisał:
>
> I'm not 100% convinced about the sigil since it would only work with UTC. 
> What I would love to see, however, is an Inspect implementation for 
> DateTime. The structs are extremely hard to read and see what's happening. 
> Even having a simple inspect implementation should make it much easier.
>
> Michał.
>
> On 27 Jun 2017, 16:29 +0200, Wojtek Mach <[email protected] 
> <javascript:>>, wrote:
>
> I think that'd be a nice addition. Even if it does not eventually land in 
> Elixir, anyone can define the `~Z` (or whatever) sigil just for tests as 
> shown at the end of the post.
>
> I usually deal with just `NaiveDateTime`s but on the rare occasion that I 
> used `DateTime` not having the sigil wasn't as bad as the incredibly 
> verbose inspect output of DateTime's (the whole struct). Thus, if there was 
> an unambiguous text representation (that contains timezone) which could be 
> used in both the sigil and inspect, I think that would be a great addition 
> to the language. While inspect could handle any struct (assuming it was 
> correctly constructed, leaving this to the developer), sigil probably would 
> only work for Etc/UTC, until Elixir ships with tzdata.
>
> defmodule FooCase do
>   use ExUnit.CaseTemplate
>
>   using do
>     quote do
>       def sigil_Z(binary, _opts) do
>         {:ok, datetime, 0} = DateTime.from_iso8601(binary)
>         datetime
>       end
>     end
>   end
> end
>
>
> defmodule FooTest do
>   use FooCase
>
>
>   test "the truth" do
>     assert ~Z[2015-01-23T23:50:07Z] == DateTime.from_naive!(~N[2015-01-
> 23T23:50:07], "Etc/UTC")
>   end
> end
>
> W dniu wtorek, 27 czerwca 2017 04:05:49 UTC+2 użytkownik Gregory McIntyre 
> napisał: 
>>
>> Love Elixir! So good! 
>>
>> Recently we found ourselves writing a lot of DateTime literals to feed 
>> into our unit tests like this:
>>
>> DateTime.from_naive!(~N[2016-05-05 01:01:42], "Etc/UTC")
>>
>> Is there a simpler way to specify human readable timestamp literals in 
>> code? Could there be? I'm not sure what the best sigil would be, but 
>> something like this?
>>
>> ~Z[2016-05-05T01:01:42Z]
>>
>> (That is ISO 8601 format.)
>>
>> Love and peace and many thanks,
>> Greg
>>
>> --
> You received this message because you are subscribed to the Google Groups 
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/elixir-lang-core/d59e56aa-dde9-426b-9303-a62f2576e396%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/elixir-lang-core/d59e56aa-dde9-426b-9303-a62f2576e396%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/72a60994-9d7b-4456-941e-b64781e40ab2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to