我想使用系统日期来命名我的输出文件,我创建了一个变量来做到这一点,但我发现它是“不洁净的”。如何创建一个报告程序来创建一个只是当前系统日期的变量,例如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
答案 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中的系统日期和时间,而无需进行字符串重建。