我使用asp.net [WebMethod]将.net对象推送回浏览器上的Ajax调用.该对象的一个属性是DateTime类型.
当它到达浏览器时,时间比存储在SQL Server中的时间早7个小时.
好的,所以我的浏览器在秘鲁(GMT-5),服务器在德国(目前是GMT + 2),这就是7小时的来源.
作为修复,我使用Ajax请求在客户端上发送UTC偏移量
d = new Date();
d.getTimezoneOffset();
Run Code Online (Sandbox Code Playgroud)
然后在服务器上我找出那里的偏移量:
// get a local time zone info
TimeZoneInfo tz = TimeZoneInfo.Local;
// get it in hours
int offset = tz.BaseUtcOffset.Hours;
// add one hour if we are in daylight savings
if (tz.IsDaylightSavingTime(DateTime.Now))
{
offset++;
}
Run Code Online (Sandbox Code Playgroud)
现在我可以在发送到浏览器之前修复对象中的时间字段.
我真正的问题是,序列化器如何知道7小时?
http请求不包含任何时间信息.
如果我想要存储在数据库中的确切时间,我会问得太多吗?
更新:
这是一个例子,数据库中的日期是:2009年10月15日22:00
没有附加TimeZone信息.
当我在我的开发机器上调用我的WebMethod时,客户端和服务器显然位于同一时区,服务器的JSON是:
{"d":{"TheDate":"\/Date(1255662000000)\/"}}
Run Code Online (Sandbox Code Playgroud)
德国远程服务器的JSON是:
{"d":{"TheDate":"\/Date(1255636800000)\/"}}
Run Code Online (Sandbox Code Playgroud)
在Firebug中看到的JSON相差7小时.此时尚未涉及JavaScript.
我有一个想法是asp.net将一个TimeZone附加到一个会话,但似乎并非如此.
我想执行任意命令行应用程序并在生成时读取其标准输出。我用来CreateNamedPipe创建一个管道,然后将另一端(打开使用的CreateFile)提供给CreateProcess。如果目标进程没有显式地使用标准输出缓冲进行操作,是否有一种方法可以确保有问题的管道没有缓冲,或者至少使用系统最小值作为缓冲区大小?
如何更改当前区域设置?
controller/action?lang=de但我的地方仍然en_US我尝试使用这段代码覆盖该值:
def key = "org.springframework.web.servlet.DispatcherServlet.LOCALE_RESOLVER"
def localeResolver = request.getAttribute(key)
localeResolver.setLocale(request, response, new Locale("de","DE"))
Run Code Online (Sandbox Code Playgroud)没有改变.
我尝试使用这段代码覆盖该值:
import org.springframework.web.servlet.support.RequestContextUtils as RCU;
RCU.getLocaleResolver(request).setLocale(request, response, new Locale("de","DE"))
Run Code Online (Sandbox Code Playgroud)而且......什么都没发生.我仍然将我的语言环境设置为en_US.
有什么想改变语言环境的吗?
我有一个拥有_may:people的MailingList模型
对于我的大多数应用程序,我只想让那些活跃的人
所以@mailing_list.people应该只返回活跃的人
在我的模型中,我做不到
def people
self.people.find_all{ |p| !p.activated_at.nil? }
end
Run Code Online (Sandbox Code Playgroud)
因为这一直在呼唤着自己.什么是ruby/rails自动过滤人的方式.另一个可能的问题是我认为self.people返回一个活动记录对象数组,self.people.find_all...返回一个数组.这将导致我的一些代码中断.这很容易修复,但有没有办法返回活动的记录对象?有选择会很高兴.
谢谢!
我正在使用jQuery的toggleClass()方法来处理表行突出显示,我想要做的是创建一个函数来隐藏所有没有应用"突出显示"类的表行.
表本身有一个ID(tblTest),每行也有一个ID.但是在这种情况下,我并不关心ID,以及"highlight"类是否应用于行.基本遍历每个表行的最佳方法是什么,检查"highlight:class是否已应用,如果不是,则应用"隐藏"类.
谢谢,
如何在帧repaint()最大化或调整大小后立即强制使用Frame ?
在发生特定操作时,我找不到调用哪种方法.我有一堆用Paint中的Graphic对象编写的图形,它们的方向取决于来自的实时反馈getWidth(),getHeight()但是当我最大化时不会调用paint,只有当那些像素不幸地改变时.
如何为我的新Symbian s60 rev 5手机(诺基亚5800)获得bash或类似的外壳?
我已经为s60安装了putty,但它没有telnet,似乎没有运行本地ssh服务器.
这是我第一次使用XSLT.我正在尝试创建一个文件,将从我使用的程序导出的XML数据文件转换为HTML报告.
元素的值之一是图像文件的路径,但生成的路径是绝对路径,例如
C:\Documents and Settings\me\Desktop\xml export\cd000402.jpg
Run Code Online (Sandbox Code Playgroud)
但我想要一个只有文件名的相对路径.
有没有办法通过XLST文件解析文件名?
考虑需要将纯文本文件从控制器方法返回给调用者.这个想法是下载文件,而不是在浏览器中查看为纯文本.
我有以下方法,它按预期工作.该文件将显示给浏览器以供下载,文件将填充该字符串.
我想寻找这种方法的"更正确"的实现,因为我对void返回类型不是很满意.
public void ViewHL7(int id)
{
string someLongTextForDownload = "ABC123";
Response.Clear();
Response.ContentType = "text/plain";
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.hl7", id.ToString()));
Response.Write(someLongTextForDownload);
Response.End();
}
Run Code Online (Sandbox Code Playgroud) 在Adobe Air的最新版本中,它使用了什么版本的WebKit渲染引擎?
air ×1
apache-flex ×1
asp.net ×1
asp.net-mvc ×1
awt ×1
controller ×1
download ×1
flash ×1
frame ×1
fxsl ×1
getter ×1
grails ×1
html ×1
java ×1
jquery ×1
json ×1
locale ×1
maximize ×1
named-pipes ×1
parsing ×1
pipe ×1
repaint ×1
s60 ×1
shell ×1
string ×1
symbian ×1
timezone ×1
webkit ×1
winapi ×1
xslt ×1