【问题标题】:How Do I Convert Evernote Date/Time Using JavaScript? [duplicate]如何使用 JavaScript 转换 Evernote 日期/时间? [复制]
【发布时间】:2016-06-01 21:27:53
【问题描述】:

Evernote API 和本地 SQLite 数据库使用不寻常的日期/时间格式/类型。 我有进行转换的 C# 函数,但我需要 JavaScript 中的相同函数。

我需要两个转换函数:
1. 将 Evernote 日期/时间转换为 JavaScript 日期/时间。
2. 将 JavaScript 日期/时间转换为印象笔记日期/时间

有人可以帮忙吗?我对C#一无所知。 我搜索了这里和 Evernote 论坛,但找不到解决方案。

这不是指定问题的完全重复:
我将时间作为 Unix 时间戳存储在 MySQL 数据库中,然后发送到一些 JavaScript 代码。我如何才能从中获取时间?

出于以下原因:
1. 我要求双向转换,而另一个问题只要求一种方式。
2. 我正在处理 SQLite 而另一个问题是处理 MySQL

public DateTime ConvertEvernoteDateToDateTime(long evDate)
        {
            // convert from seconds to ticks
            TimeSpan ts = new TimeSpan((evDate * 10000));
            // create a date with the standard web base of 01/01/1970
            // add the timespan difference
            DateTime date = new DateTime(1970, 1, 1).Add(ts);
            // adjust for the current timezone
            ts = TimeZone.CurrentTimeZone.GetUtcOffset(date);
            date = date.Add(ts);

            return date;
        }

        public long ConvertDateTimeToEvernoteDate(DateTime date)
        {
            // adjust for the current timezone
            date = date.ToUniversalTime();
            // get the ticks as a base for the standard web base date
            long baseOffset = new DateTime(1970, 1, 1).Ticks;
            // get the difference between the base and our date
            long evDate = date.Ticks - baseOffset;
            // convert from ticks to seconds
            evDate = evDate / 10000;

            return evDate;
        }

【问题讨论】:

  • 这听起来像是标准的 UNIX 时间。

标签: javascript c# datetime evernote


【解决方案1】:

这是常规的 UNIX 时间(自 1970 年 1 月 1 日以来的秒数,UTC)。

Javascript 日期存储自同一来源以来的毫秒数,因此您可以简单地乘以 1,000,然后将该数字传递给 new Date()

【讨论】:

  • 如果你能提供一个公式或函数进行双向转换,那么我会选择你的答案。
猜你喜欢
  • 2014-06-10
  • 2021-04-30
  • 1970-01-01
  • 2011-08-16
  • 2017-08-22
  • 2011-10-05
  • 2013-02-14
  • 2021-06-10
相关资源
最近更新 更多