ics file DTEND time or timezone - timezone

When I open my ics file on an android device, the DTSTART date is showing the right time, but the DTENDis showing the wrong time (+1 hour). When I open the ics directly on google calendar or outlook the DTEND date is correctly shown. Why doesn't this work??
BEGIN:VCALENDAR
VERSION:1.0
PRODID:TEST
METHOD:REQUEST
BEGIN:VEVENT
UID: 20150217T011243-1175262756
DTSTAMP: 20150217T011243
DTSTART;TZID=Europe/Amsterdam:20150301T120000
DTEND;TZID=Europe/Amsterdam:20150301T200000
SUMMARY:Werken
END:VEVENT
END:VCALENDAR
N.B. If I remove the TZID from DTSTART and DTEND both start and endtime will show +1 hour.

Most likely this is because your calendar does not define a VTIMEZONE (https://www.rfc-editor.org/rfc/rfc5545#section-3.6.5)

Related

ICS file is not adding event in IPhone. Any ideas to add event using ics in Iphone?

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
SUMMARY:Welcome to our Wedding
LOCATION:91 Springboard
GEO:19.0759837;72.8776559
DESCRIPTION:Address More:b wing green view sosaity, Lower Parel, Friends Colony, Babhai Naka, Borivali West, Mumbai, Maharashtra 400070, India
DTSTART:20200425T090000
DTEND:20200426T050000
END:VEVENT
END:VCALENDAR
This is the ics file which is not adding event to the Iphone, However it easily opens. And It's working fine in Android.
Try escaping the colon and comma characters in the DESCRIPTION property with backslashes.
Also, try formatting the date values in UTC: DTSTART:20200425T090000Z

IOS xpages date picker return "This field is not a valid date" when submitting a document

I am using a simple page with 1 text field.
Display type = Date/time
Display format = Date only
Date style = default
It works on a browser on the pc but on an iPad it returns "This field is not a valid date"
I notice that when picking a date on the iPad the format is different.
On a browser it is "Apr 21, 2017"
On the iPad "21 apr. 2017"
What am I doing wrong?
regards,
Peter
I created a PMR for this and IBM came up with this workaround.
Why it happens since FP8 and not before is not mentioned.
On mobile there is a iOS picker, which allows you to select the date. An user cannot add an invalid date, so therefore client side validation is not technically required. You would allow the data to go to the server and check server validation there.
On web it is different, as in there is a date time picker and an edit box so user's can enter anything.
The client side validation is only checking that invalid data is not entered (not possible on mobile because of the native iOS/Android pickers
The server validation checks things like if it is expecting constraints such as date must be between last year & this year etc
So the suggested workaround is to can turn client side validation off for certain controls on mobile. And leave it one for web.
There is a snippet of code on the date time control which will check whether you are on mobile or web and set this to true or false based on that
<xp:this.disableClientSideValidation><![CDATA[#{javascript:
if(deviceBean.isMobile()){
return true;
}else if(deviceBean.isTablet()){
return true
}else{
return false;
}}]]></xp:this.disableClientSideValidation>
IBM Reports the fix wil be in release 9.0.1.FP9. IBM proposes another workaround. See below.You can create a custom theme in your app, with the following:
<theme extends="Bootstrap3_flat" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="platform:/plugin/com.ibm.designer.domino.stylekits/schema/stylekit.xsd" >
<control>
<name>InputField.DateTimePicker</name>
<property baseValue="com.ibm.xsp.DateTimeHelper">
<name>rendererType</name>
<value>com.ibm.xsp.theme.bootstrap.form.InputDateDetect</value>
</property>
<property>
<name>disableClientSideValidation</name>
<value>#{deviceBean.mobile || deviceBean.tablet}</value>
</property>
</control>
</theme>
Then in xsp.properties, choose the custom theme in the application theme dropdown Themes
help doc: https://www.ibm.com/support/knowledgecenter/SSVRGU_9.0.0/com.ibm.designer.domino.ui.doc/wpd_theme.html
The effect of this is to disable client side validation for date time picker controls on mobile devices only.

Why does the '.ics/vcs' file cannot open with office365, if TZID parameter present

In my application I am sending mail to various users.The mail is attached with an .ics file. But when the user tries to open the file in Office365 an error pop ups which says
'The .ICS attachment can't be viewed because the format is not supported'.
Please see below the .ics file I have used
BEGIN:VEVENT
DTSTAMP:20170322T064351Z
DTSTART;TZID=America/Denver:20170323T110000
DTEND;TZID=America/Denver:20170323T113000
SUMMARY:WAND: Test Summary
TZID:America/Denver
LOCATION:
UID:20170322T064351Z-1#fe80:0:0:0:0:100:7f:fffe%12
DESCRIPTION:Candidate Name: Test User\nContact Phone Number: 1256355
END:VEVENT
END:VCALENDAR
The issue occurs when I have added the Timezone parameter recently.But this will work if I remove the Timezone parameter.
That is, if I replace
DTSTART;TZID=America/Denver:20170323T110000
DTEND;TZID=America/Denver:20170323T113000
with the below one
DTSTART:20170323T110000
DTEND:20170323T113000
the issue does not occur. But I need to add timezone.
Any additional elements need to add for the timezone parameter?
Please suggest.
The ics stream shown in your example seems to be truncated (missing at least the BEGIN:VCALENDAR) but assuming it is there in your actual ics, you are also supposed to include a VTIMEZONE component (before the BEGIN:VEVENT) that corresponds to the TZID=America/Denver used in your DTSTART/DTEND.
See for example the second example at https://www.rfc-editor.org/rfc/rfc5545#section-4

What is a browser's local timezone?

I am using the Timezone package to create a SelectOption of available timezones in browser. The user can then select which timezone he would like any time to be display. I would like the selected option in the list to be his local time zone.
The documentation for the package indicates that variable 'local' should be the local timezone - however it always default to UTC. How can I get to be equal to the local time zone?
await initializeTimeZone();
print( local.name);
https://www.dartdocs.org/documentation/timezone/0.4.3/timezone/timezone-library.html
I haven't tried myself but it looks like the intl package might provide what you want:
import "package:intl/intl_browser.dart";
...
String locale = await findSystemLocale();

Time format in Phonegap

In phonegap, is it possible to show the time in am/pm or 24-hour format according to the device settings in iOS? On the device, I can set the "24-Hour Time" to be on or off in settings. In the phonegap app, I want to adjust the time format according to the settings.
Thanks.
I checked the phoneGap documentation and there doesn't appear to be a way to know what the device time format settings are. But it's a good idea, you should submit a feature request to the Cordova (aka Phonegap) team for this feature.
http://docs.phonegap.com/en/2.0.0/cordova_device_device.md.html#Device
Now this isn't to say that a third party library doesn't exist that can work along side PhoneGap. But you would have to hunt for a plugin that does that or write your own. I did a quick Google search for this and nothing turned up for me.
You can just cordova's built in globalization plugin. If you run for example,
navigator.globalization.dateToString(
new Date(),
function (date) { alert('date: ' + date.value + '\n'); },
function () { alert('Error getting dateString\n'); },
{ formatLength: 'short', selector: 'date and time' }
);
date.value will hold a dateString that will reveal the time format (just check if "AM" or "PM" is in the string).

Resources