im assuming the week begins on a sunday in java, if so all good, i remember
seeing that once on my casio watch but never again :)
On Friday, March 29, 2019 at 7:42:06 PM UTC+8, Gareth Murfin wrote:
>
> So yeah I was substringing date.toString, not a good idea. I changed it to
> be more consistent as shown below, but I still have a weird issue, day of
> the week seems to be 2 days out:
>
> int DAY_OF_WEEK = cal.get(java.util.Calendar.DAY_OF_WEEK);
> switch(DAY_OF_WEEK)
> {
> case 0: dayName="Mon";break;
> case 1: dayName="Tue";break;
> case 2: dayName="Wed";break;
> case 3: dayName="Thu";break;
> case 4: dayName="Fri";break;
> case 5: dayName="Sat";break;
> case 6: dayName="Sun";break;
> }
>
> tells me aug 31 2018 was sunday, but it was friday?
> even if I start at case 1: its still one day out, whats happening? sure
> ive been thru this so many times.
>
> SimpleDateFormat dateTodaySDF = new SimpleDateFormat("yyyy-MM-dd");
> Date dateToday = null; //a date object representing the string
> they passed in
> try {
> dateToday = dateTodaySDF.parse(stringDate);
> _("dateToday -> "+dateToday.toString());
> //do this purely in cn1 so its same on ios and android, no
> toString stuff on dates
> java.util.Calendar cal = java.util.Calendar.getInstance();
> cal.setTime(dateToday);
>
> int DAY_OF_WEEK = cal.get(java.util.Calendar.DAY_OF_WEEK);
> int DAY_OF_MONTH = cal.get(java.util.Calendar.DAY_OF_MONTH);
> switch(DAY_OF_WEEK)
> {
> case 0: dayName="Mon";break;
> case 1: dayName="Tue";break;
> case 2: dayName="Wed";break;
> case 3: dayName="Thu";break;
> case 4: dayName="Fri";break;
> case 5: dayName="Sat";break;
> case 6: dayName="Sun";break;
> }
> dayDate=""+DAY_OF_MONTH;
> _("DAY_OF_WEEK ->"+dayName);
> _("DAY_OF_MONTH ->"+DAY_OF_MONTH);
> int MONTH = cal.get(java.util.Calendar.MONTH);
> switch(MONTH)
> {
> case 0: monthName="Jan";break;
> case 1: monthName="Feb";break;
> case 2: monthName="Mar";break;
> case 3: monthName="Apr";break;
> case 4: monthName="May";break;
> case 5: monthName="Jun";break;
> case 6: monthName="Jul";break;
> case 7: monthName="Aug";break;
> case 8: monthName="Sep";break;
> case 9: monthName="Oct";break;
> case 10: monthName="Nov";break;
> case 11: monthName="Dec";break;
> }
> _("MONTH ->"+monthName);
> monthNumber=(MONTH+1)+"";
> _("monthNumber-> "+monthNumber);
> _("So the date passed in was: "+dayName+", "+DAY_OF_MONTH+" of
> "+monthName);
>
> On Friday, March 29, 2019 at 6:56:13 PM UTC+8, Gareth Murfin wrote:
>>
>> this code runs fine on android and emulator from my test it produces:
>> "dateTodayS: Fri Aug 31, dayName: Fri monthName: Aug, dayDate: 31,
>> monthNumber:08",
>>
>> but on real ios it produces:
>>
>> "dateTodayS: August 31, dayName: Aug monthName: st, dayDate: 1,
>> monthNumber:08",
>>
>> I realise its just parsing different because of the result from parsing
>> the date, but shouldnt it behave identically on all platforms?
>>
>>
>> _("DateStringHolder received "+stringDate);
>> SimpleDateFormat dateTodaySDF = new
>> SimpleDateFormat("yyyy-MM-dd");
>> Date dateToday = null; //a date object representing the string
>> they passed in
>> try {
>> dateToday = dateTodaySDF.parse(stringDate);
>> String dateTodayS = dateToday.toString();
>> dayName = dateTodayS.substring(0,3);
>> monthName = dateTodayS.substring(4,7);
>> dayDate = dateTodayS.substring(8,10);
>> monthNumber= stringDate.substring(5,7);
>>
>> //for testing differences on ios and android!
>> Dialog.show("ios debug", "dateTodayS:"+dateTodayS+",
>> dayName:"+dayName+", monthName:"+monthName+", dayDate:"+dayDate+",
>> monthNumber:"+monthNumber, "OK", "Cancel");
>> }
>> catch(Exception e)
>> {
>> _("**warning** cant parse date! "+e.getMessage()+"
>> ->"+stringDate);
>> e.printStackTrace();
>> }
>>
>
--
You received this message because you are subscribed to the Google Groups
"CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
Visit this group at https://groups.google.com/group/codenameone-discussions.
To view this discussion on the web visit
https://groups.google.com/d/msgid/codenameone-discussions/d03f7589-8b1e-4128-a7ce-aa377c43fd1c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.