{"action":"created","issue":{"url":"https://api.github.com/repos/libical/libical/issues/229","repository_url":"https://api.github.com/repos/libical/libical","labels_url":"https://api.github.com/repos/libical/libical/issues/229/labels{/name}","comments_url":"https://api.github.com/repos/libical/libical/issues/229/comments","events_url":"https://api.github.com/repos/libical/libical/issues/229/events","html_url":"https://github.com/libical/libical/issues/229","id":149107859,"number":229,"title":"icaltimetype does not store timezone information","user":{"login":"stlaz","id":718169,"avatar_url":"https://avatars.githubusercontent.com/u/718169?v=3","gravatar_id":"","url":"https://api.github.com/users/stlaz","html_url":"https://github.com/stlaz","followers_url":"https://api.github.com/users/stlaz/followers","following_url":"https://api.github.com/users/stlaz/following{/other_user}","gists_url":"https://api.github.com/users/stlaz/gists{/gist_id}","starred_url":"https://api.github.com/users/stlaz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stlaz/subscriptions","organizations_url":"https://api.github.com/users/stlaz/orgs","repos_url":"https://api.github.com/users/stlaz/repos","events_url":"https://api.github.com/users/stlaz/events{/privacy}","received_events_url":"https://api.github.com/users/stlaz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-04-18T10:15:55Z","updated_at":"2016-04-18T12:30:52Z","closed_at":null,"body":"While testing the code for my project, I noticed that no matter how icaltimetype structures are created, they do not store the timezone information about their contents. Therefore, the structure usually stores the time it is passed with the given offset but does not store the timezone information, which naturally means that the information stored within the given icaltimetype structure differs from what it should really represent.\r\n\r\nIs there a reason why icaltimezone_convert_time does not add this information to the converted structure?"},"comment":{"url":"https://api.github.com/repos/libical/libical/issues/comments/211358735","html_url":"https://github.com/libical/libical/issues/229#issuecomment-211358735","issue_url":"https://api.github.com/repos/libical/libical/issues/229","id":211358735,"user":{"login":"stlaz","id":718169,"avatar_url":"https://avatars.githubusercontent.com/u/718169?v=3","gravatar_id":"","url":"https://api.github.com/users/stlaz","html_url":"https://github.com/stlaz","followers_url":"https://api.github.com/users/stlaz/followers","following_url":"https://api.github.com/users/stlaz/following{/other_user}","gists_url":"https://api.github.com/users/stlaz/gists{/gist_id}","starred_url":"https://api.github.com/users/stlaz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stlaz/subscriptions","organizations_url":"https://api.github.com/users/stlaz/orgs","repos_url":"https://api.github.com/users/stlaz/repos","events_url":"https://api.github.com/users/stlaz/events{/privacy}","received_events_url":"https://api.github.com/users/stlaz/received_events","type":"User","site_admin":false},"created_at":"2016-04-18T12:30:52Z","updated_at":"2016-04-18T12:30:52Z","body":"Found out icaltime_convert_to_zone has to be called with the same zone on the object from icaltime_from_timet_with_zone (or possibly all the functions that behave similarly to this one). This seems rather puzzling and non-intuitive.\r\n\r\nCould you please at least fix the documentation here so that it actually describes what's happening here?\r\n\r\n> If the zone is not specified (NULL zone param) the time is taken to be floating, that is, valid in any timezone. Note that, in addition to the uses specified in [RFC5545], this can be used when doing simple math on couples of times.\r\n> If the zone is specified (UTC or otherwise), it's stored in the object and it's used as the native timezone for this object.\r\n> This means that the caller can convert this time to a different target timezone with no need to store the source timezone.\r\n\r\nIf I understand it well, the docstring here contradicts itself by saying the zone is stored if specified, yet it's not stored and the time can be converted to any zone. Does this function return 'floating' time all the time, then?"}}