javascript-如何设置自动的“每日行情”?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何设置自动的“每日行情”?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1253字,纯文字阅读大概需要2分钟。
内容图文
![javascript-如何设置自动的“每日行情”?](/upload/InfoBanner/zyjiaocheng/652/77ac41b3f3ed49babf3aa1b09929f8d4.jpg)
我负责一个网站,并设置了“每日行情”,目前该程序非常简单. See Here(在页面右侧)
它当前执行的操作是获取月份中的月份和月份,并将其归一化,然后乘以引号(存储在xml文件中)并四舍五入.尽管无论我在哪台机器上使用此方法都可以得到相同的报价(随机数生成器永远都做不到),但向我指出该方法有缺陷.如果考虑一月份,则前几对报价将相同,即1 * 1 / 360、2 * 1 / 360、3 * 1/360,因此报价不是唯一的.
谁能想到一种更好的方式来选择当天的报价?
解决方法:
好玩的问题.为什么不计算一个给定日期以来的天数,而不是依靠一个月的天数? JS为此提供了一个很好的属性:getTime(),它为您提供了自1970年1月1日世界标准时间凌晨12点以来的毫秒数,您可以通过简单的除法将其转换为天数.
唯一使事情复杂化的是,如果您希望报价在午夜改变(谁不这样做),则必须考虑时区. JS再次使用getTimezoneOffset()来提供该功能,该功能提供了将用户区域设置之前或之后的分钟数与UTC进行比较.如果希望所有用户同时翻转,无论他们住在哪里,只需将其设置为静态值即可.
您的代码可能看起来像这样:
var intQuoteCount = 51; // The number of quotes in your library
var dtNow = new Date();
var intTZOffset = dtNow.getTimezoneOffset() * 60000; // automatically adjust for user timezone
var intNow = dtNow.getTime() - intTZOffset;
var intDay = Math.floor(intNow / 86400000); // The number of 'local' days since Jan 1, 1970
var intQuoteToDisplay = intDay % intQuoteCount;
内容总结
以上是互联网集市为您收集整理的javascript-如何设置自动的“每日行情”?全部内容,希望文章能够帮你解决javascript-如何设置自动的“每日行情”?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。