微信JSSDK签名时的时间戳问题

根据 微信JS-SDK说明文档 中 附录1-JS-SDK使用权限签名算法 中的描述(网址在这),在使用jssdk的时候,需要计算一个签名,计算签名的时候需要提供一个时间戳。

代码是C#,我的理解,时间戳就是个数字,但是发现不是所有数字都能当时间戳的,目前观察的结论如下:

DateTime.Now.ToFileTime()
不可以

DateTime.Now.ToFileTime() / 10000
可以

DateTime.Today.ToFileTime()
可以

但是文档并没有说什么样的数字不可以,不知道有没有知道的兄弟。

阅读 5.5k
2 个回答

4个字节的数字都可以用来做时间戳(最大10位10进制长度数字)
你发的几个方法返回值都太长了

建议用这个:

TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds).ToString();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题