在Google表格中显示每隔一周增加两周的日期

时间:2016-07-20 15:39:25

标签: date google-sheets

我希望电子表格行包含今天的日期,但仅限每隔一个星期四,在上午9:30更改。 举个例子:

下周四21.07.16它的shell包含" 21.07.16"。 直到星期四正好14天,4.08.16它包含这个日期而不是更改为4.08.16。

此外,我希望这一变化发生在上午9:30。

我想不出怎么做的方法。你能指点我的方向吗?

1 个答案:

答案 0 :(得分:2)

必须在过去的某个地方设置一个开始日期时间,例如2016年7月7日上午9:30。

然后找出当前和开始日期时间之间的差异。将此差异截断为14的倍数,并将此值添加到起始日期时间。

日期时间在表格中以数字表示为自1899年12月30日以来的天数。在此系统中,2016-07-07 9:30约为... GLfloat points[] = { 0.5f, 0.5f, 0.0f, //First Triangle -0.5f, 0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 0.0f, 0.0f, //Second Triangle -1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f }; GLuint vbo; glGenBuffers(1, &vbo); glBindBuffer(GL_ARRAY_BUFFER, vbo); glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); GLuint vao1; glGenVertexArrays(1, &vao1); glBindVertexArray(vao1); glBindBuffer(GL_ARRAY_BUFFER, vbo); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, NULL); glEnableVertexAttribArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); GLuint vao2; glGenVertexArrays(1, &vao2); glBindVertexArray(vao2); glBindBuffer(GL_ARRAY_BUFFER, vbo); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (char*)NULL + 9); glEnableVertexAttribArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); ... while (!glfwWindowShouldClose(window)) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glUseProgram(shader_program); glBindVertexArray(vao1); glDrawArrays(GL_TRIANGLES, 0, 3); glBindVertexArray(0); glBindVertexArray(vao2); glDrawArrays(GL_TRIANGLES, 0, 3); glBindVertexArray(0); glUseProgram(0); glfwPollEvents(); glfwSwapBuffers(window); } ... 所以公式将是

42558.4

输出应格式化为日期。

一个不那么神秘的版本

=42558.4 + 14*floor((now()-42558.4)/14)

=value("2016-07-07 09:30") + 14*floor((now() - value("2016-07-07 09:30"))/14) 遵循解析日期的本地约定,但我希望我所使用的格式将被普遍理解。)