2013-10-21 57 views
1

我想修改一个简单的小AE脚本,显示源文本中的星期几。我需要它显示明天和第二天 - 我可以通过使用+1和+2来完成 - 但没有条件中断。我猜这是沿着线的;如果d> 6,那么d = 0?不能完全得到正确的代码,一些帮助将不胜感激!After Effects脚本 - 星期几

d = new Date(Date(0)); 
var weekday=new Array(7); 
weekday[0]="Sunday"; 
weekday[1]="Monday"; 
weekday[2]="Tuesday"; 
weekday[3]="Wednesday"; 
weekday[4]="Thursday"; 
weekday[5]="Friday"; 
weekday[6]="Saturday"; 

weekday[d.getDay()] 
+0

ð怎么能大于6,如果你使用的是Date对象? – fabianmoronzirfas

回答

0

[编辑:真对不起,@ndix,但以前的代码(删除)是完全错误的。负面信息将不起作用。 使用下面]

timeDirectionIndex = 0;//initial for today or future 
daysToAdd = -15;//you can make this zero or any positive or negative integer 
d = new Date(Date(0)); 
var weekday=new Array(7); 
if (daysToAdd < 0) {timeDirectionIndex = 1;} 

//if time is reversed, uses second column 

weekday[0]=["Sunday","Saturday"][timeDirectionIndex]; 
weekday[1]=["Monday","Friday"][timeDirectionIndex]; 
weekday[2]=["Tuesday","Thursday"][timeDirectionIndex]; 
weekday[3]=["Wednesday","Wednesday"][timeDirectionIndex]; 
weekday[4]=["Thursday","Tuesday"][timeDirectionIndex]; 
weekday[5]=["Friday","Monday"][timeDirectionIndex]; 
weekday[6]=["Saturday","Sunday"][timeDirectionIndex]; 

//Math.abs makes it always positive; we rely on order of array now 
if (daysToAdd < 0) { 
    wd=weekday[ (Math.abs(daysToAdd) + 3 + (3 - d.getDay()) )%7 ]; 
} else { 
    wd=weekday[ (Math.abs(daysToAdd) + ( d.getDay() ))%7 ]; 
} 

alert(wd); 

代码[前面的代码没有工作]

+0

感谢您的回应!这完美的工作(我只需要从最后一行删除警报,因为这个功能没有定义)。真的很感谢你的帮助,欢呼! – ndlx

+0

很高兴喜欢它。 alert()是一种基本的JavaScript方法(并且在ExtendScript API中受支持)。只是在那里显示它为测试目的工作。 – CRGreen

+0

请注意@ndix,以前的'解决方案'不是解决方案。用它来做未来的日期,不要使用旧的代码和底片! – CRGreen