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.

Reply via email to