title: Timezones is wrong when using Calendar.date
body: <p>I want to get a today date without a time, so I can use it to compare with other Date objects that I am getting from API. </p>
  
  <p>Here is my code: </p>
  
  <pre><code>var today = Date()
  let gregorian = Calendar(identifier: .gregorian)
  var components = gregorian.dateComponents([.timeZone, .year, .month, .day, .hour, .minute,.second], from: today)
  
  components.hour = 0
  components.minute = 0
  components.second = 0
  
  today = gregorian.date(from: components)!
  </code></pre>
  
  <p>But I have a strange problem with timezones. Today is for example <strong>16/09/17</strong>, but at the end today would be equal to </p>
  
  <blockquote>
    <p>2017-09-15 23:00:00 UTC</p>
  </blockquote>
  
  <p>The only way to fix it is actually to specify my time zone as GMT. </p>
  
  <pre><code>components.timeZone = NSTimeZone(name: "GMT")! as TimeZone
  </code></pre>
  
  <p>Then the result would be correct one. </p>
  
  <blockquote>
    <p>2017-09-16 00:00:00 UTC</p>
  </blockquote>
  
  <p>Why you need to specify the timezone, as it is already should be set up by dateComponents or what I am doing wrong.<br>
  Before setting my own timezone it is equal to   <strong>NSTimeZone    "Europe/London"</strong></p>