【发布时间】:2014-03-21 02:45:10
【问题描述】:
实际上,我正在开发一个诊所管理系统,我需要在一个屏幕中显示添加到队列中的今天的患者。
为此:我打电话给DateTime.Now;
实际上,我的主机服务器在加拿大位置,而我在马来西亚。所以,两者之间有 12 小时的时间间隔,直到下午 12 点才显示记录。
在谷歌搜索解决方案时,我通过 JavaScript 找到了一个解决方案。
<label id="lblTime" runat="server" style="font-weight: bold"></label>
<script type="text/javascript">
$(document).ready(function () {
ShowTime();
});
function ShowTime() {
var dt = new Date();
document.getElementById("lblTime").innerHTML = dt.toLocaleTimeString();
window.setTimeout("ShowTime()", 1000); // Here 1000(milliseconds) means one 1 Sec
}
</script>
实际上,它显示的是时间,但是当我得到后面代码上的文本时,它给了我一个空字符串。
string strrr = lblTime.InnerHtml.ToString();
谁能指导我完成这个? 我做错了吗? 有没有其他方法可以做到这一点?
实际上,我需要!isPostback 的Page_load 中的日期和时间
【问题讨论】:
-
JavaScript 中的
new Date()将使用您的 浏览器 时钟和本地时区。 .NET 中的DateTime.Now将使用您的服务器的 时钟和本地时区。你到底在这里问什么? -
其实,我需要Server端的ClientTime,这样我就可以根据他的时间显示他今天的记录
-
您如何确定他的时钟设置正确?您可能想要的是 服务器时间 但已转换为客户端的时区。
-
实际上,您必须回答很多问题才能继续。例如,您说“我需要展示今天的患者”。那么,你是指谁的日子?此外,您说“我的主机服务器在加拿大”,但如果您做得正确,您不应该调用
DateTime.Now,而是调用DateTime.UtcNow,因此主机服务器时区变得无关紧要。除了您在这里获得的一些 javascript 之外,还有许多其他问题。 -
是的。你是对的。客户也有可能设置错误的时间。实际上,我需要获取服务器时间并根据 ClientTimeZone 进行转换。你能帮帮我吗?
标签: c# javascript asp.net .net datetime