问题标签 [time]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
40 回答
187994 浏览

c# - Calculate relative time in C#

Given a specific DateTime value, how do I display relative time, like:

  • 2 hours ago
  • 3 days ago
  • a month ago
0 投票
5 回答
380 浏览

architecture - 设计辩论:存储和操作版本化对象的好方法是什么?

我一开始是故意让这个很模糊的。我正在寻找讨论以及哪些问题比我寻找硬性答案更重要。

我正在设计一个执行投资组合管理之类的应用程序。我到目前为止的设计是

  • 问题:需要解决的问题
  • 解决方案:针对一个或多个问题提出的解决方案
  • 关系:两个问题、两个解决方案或一个问题和一个解决方案之间的关系。进一步细分为:
    • 父子 - 某种分类/树层次结构
    • 重叠 - 两个解决方案或两个问题真正解决同一概念的程度
    • 地址 - 问题解决解决方案的程度

我的问题是关于这些事物的时间性质。问题突然出现,然后消失。解决方案有一个预期的解决日期,但在开发过程中可能会进行修改。随着问题和解决方案的发展,关系的程度可能会随着时间而改变。

那么问题来了:对这些东西进行版本控制的最佳设计是什么,这样我就可以同时了解我的投资组合的当前和历史观点?

后来:也许我应该提出一个更具体的问题,尽管@Eric Beard 的回答值得一提。

我考虑了三种数据库设计。我将充分展示它们的缺点。我的问题是:选择哪个,或者你能想出更好的东西吗?

1:问题(以及单独的解决方案)在版本控制中是自引用的。

这是有问题的,因为每次我想要一个新版本时,我都必须复制整行,包括那个长description列。

2:新建关系类型:版本。

这只是将关系从问题和解决方案表移动到关系表中。同样的重复问题,但可能有点“干净”,因为我已经有了一个抽象的关系概念。

3:使用更类似于Subversion的结构;将所有问题和解决方案属性移动到单独的表中并对其进行版本控制。

这意味着要加载问题或解决方案的当前版本,我必须获取属性的所有版本,按日期对它们进行排序,然后使用最新版本。那可能并不可怕。对我来说真正糟糕的是我无法在数据库中对这些属性进行类型检查。该value列必须是自由文本。我可以将该name列作为对具有列的单独attribute_names表的引用type,但这不会强制表中的类型正确attributes

稍后:回复@Eric Beard 关于多表外键的评论:

唉,我所描述的很简单:只有两种类型的事物(问题和解决方案)。我实际上有大约 9 或 10 种不同类型的事物,因此在您的策略下我将有 9 或 10 列外键。我想使用单表继承,但事物的共同点太少了,将它们组合到一个表中会非常浪费。

0 投票
6 回答
13859 浏览

php - 如果我有一个 YYYY-DD-MM 格式的 PHP 字符串和 MySQL 中的时间戳,有没有一种在它们之间转换的好方法?

我有兴趣在日期字符串和 MySQL 时间戳之间进行比较。但是,我没有看到一个简单的转换。我是否忽略了一些明显的东西?

0 投票
2 回答
2758 浏览

c++ - “使用”统计

我试图在我的程序中使用“使用”统计数据来获取类似于时间工具的数据。但是,我很确定我做错了什么。这些值似乎是正确的,但有时可能有点奇怪。我在网上没有找到好的资源。有人知道如何做得更好吗?

抱歉,代码太长了。

0 投票
3 回答
418 浏览

time - 填充时间(或时间范围)的最有效方法是什么?

虽然存在大量用于输入日期的解决方案(例如日历、下拉菜单等),但似乎没有太多“标准”方式来询问时间(或时间范围)。

我亲自尝试了小时、分钟和秒字段的下拉菜单(有时还有“AM/PM”字段)。我还尝试了几种类似时钟的输入设备,其中大多数对于典型的最终用户来说太难使用了。我什至尝试过“弹出”时间选择菜单(例如,它允许您将鼠标悬停在“10”小时上以接收包含“:00”、“:15”、“:30”的子菜单", 和 ":45")——但这些方法似乎都不自然。

到目前为止,我发现的最好的(也是最通用的)方法就是使用简单的文本字段并强制用户手动填充小时、分钟和秒。或者,我在创建类似于 Outlook 的“日视图”的东西方面有很好的经验,它允许您拖放事件来设置开始和结束时间。

有没有“最好的方法”来询问这些信息?是否有人使用某种类型的时间输入小部件,它非常直观且易于使用?或者至少有一种比使用纯文本框更有效的方法?

0 投票
10 回答
8296 浏览

unix - 2038年我们应该做些什么准备?

我想我今天写的一些软件会在 30 年后使用。但我也知道,其中很多都是基于 UNIX 的传统,即自 1970 年以来将时间公开为秒数。

执行结果:

  • 1970 年 1 月 1 日星期四 00:00:00
  • 2008 年 8 月 30 日星期六 18:37:08
  • 2038年 1 月 19 日星期二 03:14:07
  • 1901 年12 月 13 日星期五 20:45:52

函数 ctime()、gmtime() 和 localtime() 都将时间值作为参数,该时间值表示自 Epoch 以来的时间(以秒为单位)(UTC 时间 00:00:00,1970 年 1 月 1 日;参见 time(3))。

我想知道作为程序员在这方面是否有任何积极主动的事情要做,或者我们是否相信所有软件系统(又名操作系统)将来都会神奇地升级?

更新看起来确实 64 位系统是安全的:

  • 1969 年 12 月 31 日星期三 16:00:00 PST
  • 2008 年 8 月 30 日星期六 12:02:40 PDT
  • 8 月 16 日星期六 23:12:55 PST 292278994
  • 12 月 02 日星期日 08:47:04 PST 292269055

但是 292278994 年呢?

0 投票
3 回答
1945 浏览

ruby - Ruby中带有字符串的日期时间算术

在 Ruby 中,我正在尝试执行以下操作。

其中“since”是表示时间量的字符串(“1 小时”、“1 天”、“3 天”)等等。有什么建议么?

0 投票
7 回答
10833 浏览

python - 在python中找到2次之间差异的最简单方法是什么?

我有 2 个时间值,它们的类型为datetime.time. 我想找出他们的不同之处。显而易见的事情是 t1 - t2,但这不起作用。它适用于类型的对象,datetime.datetime但不适用于datetime.time. 那么最好的方法是什么?

0 投票
5 回答
2306 浏览

c# - 如何解析相对时间?

这个问题是问题的另一面,“我如何计算相对时间? ”。

给定相对时间的一些人工输入,你如何解析它?默认情况下,您将从 偏移DateTime.Now(),但可以选择从另一个偏移DateTime

(首选 C# 中的答案)

示例输入:

  • “在 20 分钟内”
  • “5小时前”
  • “3 小时 2 米”
  • “下周”

编辑: 假设我们可以对输入定义一些限制。这种代码在网络上将是一件有用的事情。

0 投票
6 回答
282 浏览

c++ - 重置源文件更改检测

有时我必须编写使计算机时钟向前移动的代码。在这种情况下,某些 .cpp 或 .h 文件会将其最新修改日期设置为未来时间。

稍后,当我的时钟固定并编译我的源代码时,系统会重建大部分项目,因为一些最新的修改日期是在未来。随后的每次重新编译都有相同的问题。

我知道的解决方案是:

a) 找到具有未来时间的文件并重新保存。这种方法并不理想,因为项目很大,即使是 windows 高级搜索也需要时间来查找更改的文件。

b) 删除整个项目并从 svn 重新签出。

有谁知道我该如何解决这个问题?

Visual Studio 中是否有一个设置可以让我告诉编译器使用存档位而不是最后修改日期来检测源文件更改?

或者也许有一个递归修改日期重置工具可以在这种情况下使用?