【发布时间】:2015-03-12 16:55:59
【问题描述】:
我最近在网上找到了以下代码,它给出了 FFXIV 的游戏时间(Eorzea 时间):
var E_TIME = 20.5714285714;
var global = {
utcTime: null,
eorzeaTime: null
};
window.setInterval(updateClock, Math.floor(1000 * 60 / E_TIME));
function updateClock() {
global.utcTime = new Date().getTime();
var eo_timestamp = Math.floor(global.utcTime * E_TIME);
global.eorzeaTime = new Date();
global.eorzeaTime.setTime(eo_timestamp);
showTime();
}
function showTime() {
var d = new Date();
d.setTime(global.eorzeaTime);
var eTime = document.getElementById('e-time');
var hours = d.getUTCHours();
var ampm = hours > 11 ? "PM" : "AM";
if(hours > 12)
hours -= 12;
hours = padLeft(hours);
var minutes = d.getUTCMinutes();
minutes = padLeft(minutes);
eTime.innerHTML = hours + ":" + minutes + " " + ampm;
}
function padLeft(val){
var str = "" + val;
var pad = "00";
return pad.substring(0, pad.length - str.length) + str;
}
updateClock();
注意:我不相信该代码,我不是原始编码器,它是在这里找到的:http://jsfiddle.net/jryansc/6r85j/
我想做的是在 C# 中获得相同的结果(时间方面),不幸的是我是编程新手,目前我只知道一些 C#。这就是我寻求帮助的原因,我尝试在 C# 中操作 DateTime 和 TimeSpan,但它似乎不像在 JavaScript 中那么容易(根据上面的代码)。
有人可以帮我转换一下代码吗?
非常感谢所有帮助。
【问题讨论】:
-
您需要在 WPF、winform oe Asp.Net 项目中执行此操作吗?
-
这个问题似乎是题外话,因为它是关于代码翻译的。
-
它需要在标准的 WindowsForm 应用程序中工作。关于偏离主题的评论,请问我还有其他地方可以发布这个问题吗?再次感谢所有帮助。
-
您应该尝试自己转换代码,然后返回实现中的特定问题。
-
@user3310909 你的问题有点含糊。您能否对其进行更新以澄清:您是在问如何在 C# 中计算 Eorzea 时间吗?或者如何在 WinForms 应用程序中显示实时时钟?我不会认为其中任何一个都是题外话,但它出现在您要求直接代码翻译的那一刻。
标签: javascript c# date time