【问题标题】:Is it ok to use ticks to pass datetime using ticks between pages of an application是否可以使用滴答声在应用程序页面之间使用滴答声来传递日期时间
【发布时间】:2009-10-22 17:40:58
【问题描述】:

我目前正在使用 url 参数将一些日期时间信息传递给网页,这些参数是日期时间的刻度,然后在我需要时在另一端将刻度转换回日期时间。

有没有更好的方法来做到这一点,为什么。

例如

http://localhost:57765/dinners/updatedinner/38?startDate=633917664000000000

【问题讨论】:

  • 您对这种方法有什么顾虑? (我想你一定有一些,如果你在这里问的话......)
  • 我是出于兴趣而询问的,因为这种方法几乎没有时间让我做出来,而且感觉可能过于简单。现在看这个,我想我可以暂时保留它,但我相信我将不得不使用这个应用程序处理许多时区,所以很快我将不得不修改它。谢谢大家

标签: c# asp.net datetime url


【解决方案1】:

这很好,实际上是 JSON 编码日期的标准格式。唯一关心的是时区,因为您的滴答计数没有对其进行编码。您可以始终假设时区,并根据它进行偏移计算,或者在值中编码时区(例如 sD=12343245345-0500)

【讨论】:

    【解决方案2】:

    以人类可读的格式表示日期时间对于开发人员(故障排除等)和您网站的潜在客户来说会更好。

    【讨论】:

    • 除非您故意不希望在 URL 中传递的参数容易被临时用户编辑。那么这可能有助于网站的安全性。
    • 但是对于不太高级的用户来说,滴答声并不是障碍。
    • 应用程序此时没有真正的安全问题,它只是一个供一个用户使用的私有变量,即非公共
    【解决方案3】:

    鉴于 Ticks 被定义为自 0001 年 1 月 1 日午夜 12 点以来经过的 100 纳秒间隔数,我看不出有任何功能问题,只要您在经过之前转换为 UTC (以及之后的UTC)或以其他方式处理时区问题。

    也就是说,传递信息有更人性化的方式,例如,如果有人想手动输入 URL,将其传递为 yyyyMMddThhmmss.nnn 会更友好,尽管它不是很精确(如果您需要更好的超过毫秒精度)。

    【讨论】:

    • 绝对不需要精确,我只是喜欢快速启动和运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    相关资源
    最近更新 更多