0

今日が水曜日か土曜日かを確認するためのスクリプトが埋め込まれたstaxドキュメントがあります。最初の書式設定の後、正しい日が画面に出力されますが、find()メソッドでは、土曜日であっても常に「水曜日」が画面に出力されます. この比較を行うためのより良い方法はありますか?
jython コードはスクリプト内で実行できます

import java.util.Date
import java.util.Calendar
import java.text.SimpleDateFormat

now = java.util.Date()
dayFormat = java.text.SimpleDateFormat('EEE')
cal = java.util.Calendar.getInstance();  
cal.setTime(now);  
cal.add(java.util.Calendar.HOUR, 5);
dayBeforeFormat = cal.getTime();

day = str(dayFormat.format(dayBeforeFormat))
print(day)


if day.find('Sat'):
    print('Sat')
elif day.find('Wed'):
    print('Wed')
4

1 に答える 1

0

コードが土曜日に実行される場合、の値dayは「Sat」であり、このビットは次のとおりです。

day.find('Sat')

day0を返します。これは、サブ文字列「Sat」が見つかった文字列の中で最も低いインデックスです。http://www.jython.org/docs/library/stdtypes.html#string-methodsを参照してください。

0はブール値に相当しFalseます。

これは機能します:

if day.find('Sat') > -1:
    print('Sat')

またはもっと簡単:

if day == 'Sat':
    print('Sat')
于 2012-05-05T10:08:06.960 に答える