<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="142730" data-post-id="142730">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Most stuff should be in the documentation. Maybe I’ll add a paragraph about configuring the timezone db as well at a later time. I’d also gladly accepts questions/improvements on that part.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="142730" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-142730" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="142730"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="143767" data-post-id="143767">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="azimlord" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/azimlord/120/14403_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  azimlord
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hey I’m building an API for the same function,<br>
but when passing the <code>input_start_time: 2019-09-20T10:00</code> and <code>input_end_time: 2019-09-20T11:00</code> it returns an error</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">(ArgumentError) argument error
        :erlang.binary_to_atom(nil, :utf8)
        (tzdata) lib/tzdata/release_reader.ex:91: Tzdata.ReleaseReader.do_periods_for_zone_time_and_type/3
        (tzdata) lib/tzdata/release_reader.ex:72: Tzdata.ReleaseReader.periods_for_zone_time_and_type/3
        (tzdata) lib/tzdata.ex:242: Tzdata.possible_periods_for_zone_and_time/3
        (tzdata) lib/tzdata.ex:196: Tzdata.periods_for_time/3
        (tzdata) lib/tzdata/time_zone_database.ex:32: Tzdata.TimeZoneDatabase.time_zone_periods_from_wall_datetime/2
        (elixir) lib/calendar/datetime.ex:262: DateTime.from_naive/3
        (tz_datetime) lib/tz_datetime.ex:190: TzDatetime.do_handle_datetime/3
</code></pre>
<p>Do you know what am I missing?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143767" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-143767" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143767"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="143768" data-post-id="143768">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Nicd" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Nicd/120/2357_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Nicd
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>You have to show your code. It seems like you are passing a <code>nil</code> somewhere where a binary is expected.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143768" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-143768" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143768"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="143772" data-post-id="143772">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Seems like a problem of tzdata. Did you update the library to the most recent version? Afaik every now and the there are problems with changes in the data format of the file it‘s consuming.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143772" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-143772" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143772"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="143775" data-post-id="143775">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="azimlord" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/azimlord/120/14403_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  azimlord
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<pre data-code-wrap="elixir"><code class="lang-elixir">schema "booking" do
    field :reference, :string
    field :status, :string
    field :start_time, :utc_datetime
    field :end_time, :utc_datetime
    field :time_zone, :string
    field :original_offset, :integer
    field :input_start_time, :naive_datetime, virtual: true
    field :input_end_time, :naive_datetime, virtual: true
    timestamps()
  end
</code></pre>
<pre data-code-wrap="elixir"><code class="lang-elixir">def create_changeset(booking, attrs) do
    booking
    |&gt; cast(attrs, [:reference, :status, :start_time, :end_time, :time_zone, :original_offset,  :input_start_time, :input_end_time])
    |&gt; validate_required([:input_start_time, :input_end_time])
    |&gt; change_start_end_timezone()
  end
</code></pre>
<pre data-code-wrap="elixir"><code class="lang-elixir">defp change_start_end_timezone(changeset) do
    changeset
    |&gt; TzDatetime.handle_datetime(input_datetime: :input_start_time, datetime: :start_time)
    |&gt; TzDatetime.handle_datetime(input_datetime: :input_end_time, datetime: :end_time)
  end
</code></pre>
<p>Create function</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">def create(conn, %{"booking" =&gt; params}) do
    with {:ok, %Booking{} = booking} &lt;- MyContext.create_booking(params) do
      render(conn, "show.json", booking: booking)
    end
  end
</code></pre>
<pre data-code-wrap="elixir"><code class="lang-elixir">def create_booking(attrs \\ %{}) do
    %Booking{}
    |&gt; Booking.create_changeset(attrs)
    |&gt; Repo.insert()
 end
</code></pre>
<p>My request</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">{
	"booking": {
		"input_start_time": "2019-09-20T10:00",
		"input_end_time": "2019-09-20T11:00"
	}
}
</code></pre>
<p>here you go</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143775" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-143775" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143775"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="143777" data-post-id="143777">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="azimlord" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/azimlord/120/14403_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  azimlord
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yup. I check the code in <a href="https://github.com/lau/tzdata/blob/cf42a2897fe4f02742dfad1a16a062aca8035a21/lib/tzdata/release_reader.ex#L89" rel="noopener nofollow ugc">GitHub</a>, but I don’t really understand it.</p>
<p>I’m using the latest version for both <code>tz_datetime</code> and <code>tzdata</code></p>
<pre data-code-wrap="elixir"><code class="lang-elixir">[
   {:tz_datetime, "~&gt; 0.1.1"},
   {:tzdata, "~&gt; 1.0.1"}
]
</code></pre>
<p>I did not update <code>tzdata</code> but I tried both version <code>0.1.0</code> and <code>0.1.1</code> of your library<br>
It worked on web, it just does not work for API</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143777" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-143777" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143777"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="143781" data-post-id="143781">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Nicd" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Nicd/120/2357_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Nicd
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Is the <code>:time_zone</code> field in your changeset <code>nil</code> or set to something proper?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143781" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-143781" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143781"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="143783" data-post-id="143783">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="azimlord" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/azimlord/120/14403_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  azimlord
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thank you for telling me that. The <code>time_zone</code> need to be set.<br>
My request should be like this</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">{
	"booking": {
		"input_start_time": "2019-09-20T10:00",
		"input_end_time": "2019-09-20T11:00",
        "time_zone": "Asia/Kuala_Lumpur"
	}
}
</code></pre>
<p>I forgot that I need to manually set the <code>time_zone</code> for <code>tz_datetime</code> and <code>tzdata</code> to work.<br>
It is actually in the past <a href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/6" rel="nofollow">conversation</a> from this thread. My bad <img src="https://forum.elixirforum.com/images/emoji/apple/slightly_frowning_face.png?v=15" title=":slightly_frowning_face:" class="emoji" alt=":slightly_frowning_face:" loading="lazy" width="20" height="20"></p>
<p>Thank you very much!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143783" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-143783" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143783"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="143968" data-post-id="143968">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="azimlord" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/azimlord/120/14403_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  azimlord
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Question</p>
<p>Since the <code>start_time</code> is stored as UTC. How would you suggest to do query by <code>date</code> or <code>datetime</code>. For example:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">date = "2019-09-20" #Let's say this date is from "Asia/Kuala_Lumpur"
date = Date.from_iso8601!(date)
Booking
|&gt; where([b], fragment("?::date", b.start_time) == ^date)
|&gt; Repo.all
</code></pre>
<p>The results would be wrong, where it tries to compare <code>date</code> from a different time zone</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143968" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-143968" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143968"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="143983" data-post-id="143983">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Comparing datetimes should generally happen with UTC values only. The problem of dates is that a date doesn‘t have a timezone. If you want to match a date in asia to a utc datetime you‘d need to convert it first to the appropriate datetime interval in UTC matching the start/end datetimes for the given date in your timezone.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="143983" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/form-for-utc-datetime/25253/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-143983" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="143983"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/25253/load_more?page=3">Load more posts (2 remaining)</a>
</div></template></turbo-stream>