Can you add a script function for date processing?

Here is a Mp3tag action script, which calculates the ISO weekday number and the ISO weekday name from a given ISO date string.

For example ... ISO Date Day-Nr Day-Name-Short Day-Name-Long

1954-12-01   3       Wed             Wednesday
1958-10-27   1       Mon             Monday
1966-02-17   4       Thu             Thursday
1993-10-05   2       Tue             Tuesday
2009-02-01   7       Sun             Sunday    
2014-03-16   7       Sun             Sunday
9999-12-31   5       Fri             Friday

The action group expects the tag-field TMP_ISO_DATE filled with a correct ISO date string of format "YYYY-MM-DD".

The action group creates three new tag-fields ...

TMP_ISO_DAYOW       number of weekday (1..7 for Monday..Sunday)
TMP_ISO_DAYNAME_L   name of weekday in long version (Monday..Sunday)
TMP_ISO_DAYNAME_S   name of weekday as 3-letter abbreviation (Mon..Sun)
Begin Action Group Format DATE#Get DayOfWeek from ISO Date

Action #1
Actiontype 5: Format value
Field ______: TMP_ISO_DATE
Formatstring: $if2(%TMP_ISO_DATE%,'9999-12-31')

Action #2
Actiontype 7: Import tag fields (guess values)
Source format __: %TMP_ISO_DATE%
Guessing pattern: %TMP_ISO_YEAR%-%TMP_ISO_MONTH%-%TMP_ISO_DAY%

Action #3
Actiontype 5: Format value
Field ______: TMP_ISO_YEAR
Formatstring: $sub(%TMP_ISO_YEAR%,$if($less(%TMP_ISO_MONTH%,3),1,0))

Action #4
Actiontype 5: Format value
Field ______: TMP_ISO_DAYOW
Formatstring: $mod($add(%TMP_ISO_YEAR%,$div(%TMP_ISO_YEAR%,4),$div(%TMP_ISO_YEAR%,-100),$div(%TMP_ISO_YEAR%,400),$regexp(';0=0;1=3;2=2;3=5;4=0;5=3;6=5;7=1;8=4;9=6;10=2;11=4;','^.;'$sub(%TMP_ISO_MONTH%,1)'=(\d);.$','$1'),%TMP_ISO_DAY%),7)

Action #5
Actiontype 5: Format value
Field ______: TMP_ISO_DAYOW
Formatstring: $if($eql(0,%TMP_ISO_DAYOW%),7,%TMP_ISO_DAYOW%)

Action #6
Actiontype 5: Format value
Field ______: TMP_ISO_DAYNAME_S
Formatstring: $regexp(';0=Sun;1=Mon;2=Tue;3=Wed;4=Thu;5=Fri;6=Sat;7=Sun;','^.;'%TMP_ISO_DAYOW%'=(\w{3});.$','$1')

Action #7
Actiontype 5: Format value
Field ______: TMP_ISO_DAYNAME_L
Formatstring: $regexp(';0=Sunday;1=Monday;2=Tuesday;3=Wednesday;4=Thursday;5=Friday;6=Saturday;7=Su
nday;','^.;'%TMP_ISO_DAYOW%'=(\w{6,9});.$','$1')

Action #8
Actiontype 9: Remove fields
Fields to remove (semicolon separated): TMP_ISO_YEAR;TMP_ISO_MONTH;TMP_ISO_DAY

End Action Group Format DATE#Get DayOfWeek from ISO Date (8 Actions)

Format_DATE_Get_DayOfWeek_from_ISO_Date.mta (1.07 KB)
After downloading rename the mta file to ...
"Format DATE#Get DayOfWeek from ISO Date"

I have derived this Mp3tag solution from the methods of Sakamoto, Lachman, Keith and Craver.
http://en.wikipedia.org/wiki/Determination...eith_and_Craver

DD.20140316.1540.CET

Format_DATE_Get_DayOfWeek_from_ISO_Date.mta (1.07 KB)