【问题标题】:Proper way to check for null dates in Flex/Actionscript?在 Flex/Actionscript 中检查空日期的正确方法?
【发布时间】:2011-03-02 18:18:04
【问题描述】:

在 Flex/Actionscript 中使用 Date() 对象时,我使用以下函数来检查空日期。这是检查空日期的正确方法还是有更好的替代方法?

public function IsDateNull(date:Date):Boolean
{
  if (date && date.fullYear != 0)
  {
    return true;
  }

  return false;
}

【问题讨论】:

  • 嗨 Jason,因为 Date 是一个扩展 Object 的类,并且不是原始类型,所以它没有默认值,因此只有在尚未实例化时才应为 null。日期是从某种数据库映射或类似的东西中填充的吗?否则不只是 if(!date) 不需要有一个函数来做到这一点。
  • @shaunhusain 我正要说类似的话。您应该将其发布为真正的答案。我会为此感到内疚,并窃取了应归于你的业力。
  • @shaunhusain,日期来自不同的地方:后端数据调用、DateField.selectedDate 等。我遇到了必须基于 @ 设置 DateField.selectableRange 的情况另一个DateField 的987654325@ 值或来自后端数据。在这些情况下,我想使用的 Date 对象可能为空。这就是我使用此检查的原因。我希望这是有道理的。编辑:请务必将其添加为答案!我很乐意投票。 :)
  • 我之所以有fullYear 检查是因为当数据通过 FluorineFX 来自后端时,如果由于某种原因未提供日期,它使用默认日期 12/31/0。

标签: apache-flex actionscript-3 date flex3 flex4


【解决方案1】:

由于 Date 是扩展 Object 的类并且不是原始类型,因此它没有默认值,因此只有在尚未实例化时才应为 null。日期是从某种数据库映射或类似的东西中填充的吗?否则不只是

if(!date)

或

if(date==null)

不需要有一个函数来做到这一点。对于 DateField.selectedDate,如果尚未选择日期,则该值应为 null。这最初不是作为答案发布的,因为我不完全理解遇到的问题,听起来好像有各种各样的情况。根据数据库的服务层和底层 JDBC(或其他连接器)以及数据库的类型和数据类型,值可能会有所不同。通常,在通过调用构造函数为其获取内存之前,Date 将为空。

谢谢, 肖恩

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2018-10-05
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 2010-11-06
    相关资源
    最近更新 更多