【问题标题】:Checking if today is a Wed or Sat with java.util.Calendar使用 java.util.Calendar 检查今天是周三还是周六
【发布时间】:2012-05-05 01:10:49
【问题描述】:

我有一个带有一些嵌入式脚本的 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')

【问题讨论】:

  • 嘿,你到底是怎么写这段代码的?你是如何将java类调用到python中的?
  • 你试过day.equals("Sat")吗?
  • 它实际上是 jython Tabish,更新的问题。使用day.equals("Sat") 时出错.. AttributeError: 'string' object has no attribute 'equals'

标签: python date calendar compare jython


【解决方案1】:

当代码在星期六运行时,day 的值是“Sat”并且这个位:

day.find('Sat')

返回 0。这是day 字符串中找到子字符串“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')

【讨论】:

    猜你喜欢
    • 2021-01-11
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多