从netlogo中的日期和时间中提取日期

时间:2016-02-18 11:42:42

标签: netlogo

我想使用系统日期来命名我的输出文件,我创建了一个变量来做到这一点,但我发现它是“不洁净的”。如何创建一个报告程序来创建一个只是当前系统日期的变量,例如18Feb2016,而不单独删除项目。目前我正在使用

globals [
  time
  filename
]

to setup
  ca
  set time (remove-item 6(remove-item 7(remove-item 8 (remove "-"(remove " "(remove "." 
            (remove ":" date-and-time)))))))
  set filename (word "test-" time ".csv"
  if file-exists? filename
     [file-close
      file-delete filename
     ]
     file-open filename

end

1 个答案:

答案 0 :(得分:3)

您绝对可以使用set date (remove "-" (substring date-and-time 16 27)) set time (remove "." remove ":" remove " " (substring date-and-time 0 15)) 原语来减少代码。

var object = { '1-name': "Count", '1-value': "10", '2-name': "Colour", '2-value': "Red" },
    result = function (o) {
        var r = {}, t = [];
        Object.keys(o).forEach(function (k) {
            var p = k.split('-');
            t[p[0]] = t[p[0]] || {};
            t[p[0]][p[1]] = o[k];
        });
        t.forEach(function (a) {
            r[a.name] = a.value;
        });
        return r;
    }(object);
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');

但是,我不知道是否有更优雅的方式来访问NetLogo中的系统日期和时间,而无需进行字符串重建。