Oculus Quest Robot icon Oculus Quest Robot Immersive Meta Quest VR control for Synthiam ARC robots: stereoscopic camera view, map servos to hands/controllers, plus built-in remote desktop. Try it →
Asked — Edited

Future Date

Is there a way via scripting for me to get the day name out of a future date. For example I want the robot to say that September 9 is Friday instead of September 9. I can get it to work for today, but am looking for a way to do it for future dates.

Thanks for any suggestions.


ARC Pro

Upgrade to ARC Pro

Subscribe to ARC Pro, and your robot will become a canvas for your imagination, limited only by your creativity.

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#1  

There's a way to do anything with programming:)

Do this...


$theDate = cdatetime("03-04-2016")

# Get format from https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

$theMonth = fmtdate($theDate, "MMMM")
$theDay = fmtdate($theDate, "dd")
$theDayWord = fmtdate($theDate, "dddd")

say($theMonth + " " + $theDay + " is a " + $theDayWord)

Or shortened is...


$theDate = cdatetime("03-04-2016")

# Get format from https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

say(fmtdate($theDate, "MMMM") + " " + fmtdate($theDate, "dd") + " is a " + fmtdate($theDate, "dddd"))
Author Avatar
PRO
USA
#2  

If you want to go hardcore:)

a good exercise for a bored kid at home.


#############
# Constants #
#############
 
DefineArray($t, 12, 0)
#$t[0]=0
$t[1]=3
$t[2]=2
$t[3]=5
#$t[4]=0
$t[5]=3
$t[6]=5
$t[7]=1
$t[8]=4
$t[9]=6
$t[10]=2
$t[11]=4

DefineArray($dayWords, 7)
$dayWords[0]="Sunday"
$dayWords[1]="Monday"
$dayWords[2]="Tuesday"
$dayWords[3]="Wednesday"
$dayWords[4]="Thursday"
$dayWords[5]="Friday"
$dayWords[6]="Saturday"

######################################################################
# Expected Parameters:                                               #
#                      $theYear, $theMonth, $theDay                  #
# Returned Parameters:                                               # 
#                      $theWeekDay (0=Sunday..6=Saturday)            #
#                      $theWeekDayWord                               #
######################################################################

$theYear=2000
$theMonth=9
$theDay=5

######################################################################
# https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week #
######################################################################

$y=$theYear
if ($theMonth<3)
  $y=$y-1
endif
$theWeekDay=($y+$y/4-$y/100+$y/400+$t[$theMonth-1]+$theDay)%7
$theWeekDayWord=$dayWords[$theWeekDay]

#debug
say("Year " + $theYear + " month " + $theMonth + " day " + $theDay + " is a " + $theWeekDayWord)
Author Avatar
PRO
USA
#3  

Thanks to both of you. I had been working on the hardcore version and it just seemed there should be an easier way. Amazing how DJ got it down to one line. Just amazing.

Thanks so much.