To get around this Java Date problem, you could use the Calendar class in a Java action.
Some sample code:
SimpleDateFormat regularDateFormat = new SimpleDateFormat("dd:MM:yyyy");
Date date = regularDateFormat.parse("08:04:2010");
System.out.println("date: " + date.toString());
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
System.out.println("day of week: " + calendar.get(Calendar.DAY_OF_WEEK));
This will produce the following output:
date: Thu Apr 08 00:00:00 CEST 2010
day of week: 5
You could easily build a java action that takes a date as input and returns the day number
My suggestion would be: parseInteger(formatDateTime($CreationDate, 'u'))
This wil return a number where monday is 1 and sunday is 7.
I would say from the Java documentation that F returns the number you want. Have you tested it with different input dates?