Google app maker 如何列出日期条目的各个部分

Google app maker 如何列出日期条目的各个部分,google-app-maker,Google App Maker,问题的简短版本是,有没有办法只显示模型中日期字段条目的某一部分 例如:我输入2017年2月13日作为条目,但在单独的页面上,我只想看到日期、月份或年份?不是全部 更详细的解释 我将以下代码与()结合使用来创建时间线: function showChart(widget){ google.charts.load('current', {'packages':['timeline']}); function drawChart() { var container = w

问题的简短版本是,有没有办法只显示模型中日期字段条目的某一部分

例如:我输入2017年2月13日作为条目,但在单独的页面上,我只想看到日期、月份或年份?不是全部

更详细的解释

我将以下代码与()结合使用来创建时间线:

function showChart(widget){
    google.charts.load('current', {'packages':['timeline']});
    function drawChart() {
       var container = widget.getElement();
       var chart = new google.visualization.Timeline(container);
       var dataTable = new google.visualization.DataTable();
       dataTable.addColumn({ type: 'string', id: 'President' });
       dataTable.addColumn({ type: 'date', id: 'Start' });
       dataTable.addColumn({ type: 'date', id: 'End' });
       dataTable.addRows([
          [ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
          [ 'Adams',      new Date(1797, 2, 4),  new Date(1801, 2, 4) ],
          [ 'Jefferson',  new Date(1801, 2, 4),  new Date(1809, 2, 4) ]]);
      chart.draw(dataTable);
    }
    google.charts.setOnLoadCallback(drawChart);
}
如果我添加/定义变量,我可以用模型中的数据替换行的标签。示例:RoomName

function showChart(widget){
        google.charts.load('current', {'packages':['timeline']});
        function drawChart() {
           var container = widget.getElement();
           var chart = new google.visualization.Timeline(container);
           var dataTable = new google.visualization.DataTable();
           var RoomName = app.datasources.TestModel.item.RoomName;
           dataTable.addColumn({ type: 'string', id: 'President' });
           dataTable.addColumn({ type: 'date', id: 'Start' });
           dataTable.addColumn({ type: 'date', id: 'End' });
           dataTable.addRows([
              [ 'RoomName', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
              [ 'Adams',      new Date(1797, 2, 4),  new Date(1801, 2, 4) ],
              [ 'Jefferson',  new Date(1801, 2, 4),  new Date(1809, 2, 4) ]]);
          chart.draw(dataTable);
        }
        google.charts.setOnLoadCallback(drawChart);
    }
我也希望对签入和签出日期执行同样的操作,但是新日期选项将年、月和日分为3个变量(上面的示例:新日期(1789、3、30)。因此,我不能只使用app.datasources.TestModel.item.CheckIn

有什么方法可以告诉App make到App.datasources.TestModel.item.CheckIn(年)、App.datasources.TestModel.item.CheckIn(月)、App.datasources.TestModel.item.CheckIn(天)吗


感谢您的帮助!

如果您在模型中存储日期,您可以使用Javascript将日期拆分为其组件,
date.getYear()+1900
date.getMonth()+1
date.getDate()

但是没有理由这样做,chartapi接受的日期是常规日期,仅仅因为它们以特定格式显示并不意味着您必须这样做

dataTable.addRows([
              [ 'RoomName', startDate, endDate ],

如果您使用绑定,我建议使用日期转换器,以防您使用脚本设置值…您可以尝试将第三个属性添加到列描述-模式()还有一个问题:对于startDate和endDate选项,是否有一种方法可以过滤它们,使它们显示Room1的startDate,然后显示Room2的startDate,等等?我最初打算创建一个新的数据源并使用查询来过滤RoomName,但后来我意识到这不起作用,因为startDate/endDate的数据源是然后不同于HTML小部件。这有意义吗?