如何从特定日期提取日期

时间:2013-07-10 10:41:48

标签: java javascript ios momentjs titanium-alloy

我正在将此calendar用于Titanium SDK。我需要做的是从服务器检索日期列表,如果日历上的日期有事件,请向图块添加图像以表示该日期。我可以检索当天,但问题是这一天不是特定的日期。例如,如果检索的日期是08/12/2012,则该日期等于8.当我在代码中设置图像时,如下所示:

calendar.setImage(eventDay, 'path/to/image');

它设定了每个月的第8天,而不仅仅是12月8日。

以下是日历控制器中的setImage函数:

exports.setImage = function(day,image, options) {
      var _ref3;

      if (options == null) {
          options = {};
      }

      if (moment.isMoment()) {
          day = day.date();
      }

      tile = (_ref3 = $.calendar) != null ? _ref3["" + day] : void 0;

      if ((tile != null ? tile.date : void 0) != null) {
          tile.remove(tile.children[0]);
              _.extend(tile, {
              _isEntry: true
          }, options);

          return tile.add(Ti.UI.createImageView({
               image: image,
               width: TILE_WIDTH,
               height: TILE_WIDTH,
               touchEnabled: true
         }));
      }
};

我尝试更改代码以接受月份和年份,然后将额外的变量添加到_ref3变量,但这根本不起作用。

2 个答案:

答案 0 :(得分:0)

在我看来,这个控件一次可以使用一个月。

看看他们的sample code。请注意,它会删除日历并在doPrevMonthdoNextMonth函数中重新创建日历。

因为您要设置特定单元格的图像,所以由日期编号引用。您需要清除它,或在您更改月份时重新设置它。

换句话说,你的问题没有意义,因为这个特定的控件无法工作超过一个月。标题与你要求的标题不符。

如果您每次绘制日历时都已经这样做,那么只需检查输入日期是否与您显示的月份相符。

答案 1 :(得分:0)

使用带有Alloy的内置库,即

require('alloy/moment');

Moment.js是一个用于处理特定时间显示的有用库。