我的网站已本地化,但我在asp.net 4中显示当前日期时遇到问题

时间:2012-01-18 13:30:29

标签: asp.net visual-studio visual-studio-2010 datetime asp.net-4.0

我不是程序员,但我在Visual Studio中开发了一个小公司网站。我想在母版页上显示特定文化格式的日期。我把它放在我的一个常规aspx页面的顶部:

  <%@ Page Title="USS Vision Control Panel Build" Language="VB" MasterPageFile="~/Services/Services.Master" AutoEventWireup="false"
CodeFile="controlpanels.aspx.vb" Inherits="controlpanels" culture="auto" meta:resourcekey="PageResource1" uiculture="auto" %>

我在网上关注了很多ASP教程,并且在我的页面上正确显示的唯一代码如下:

  <p><%= DateTime.Now.ToString() %></p>

以上代码的结果如下:

  1/18/2012 5:17:36 AM

问题是我在美国东部时间,太平洋时间到了。我想我不希望它包含时间,因为时间是静态的,而且它是错误的时区,并且它不会逐秒更新。总而言之,我认为我宁愿只包括日期。这对我的网站来说似乎更专业。

有人知道我能做些什么来解决这个问题吗?

感谢您提供任何帮助!

杰森韦伯

3 个答案:

答案 0 :(得分:2)

这将为您提供没有时间的当前日期。

DateTime.Today.ToString(System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.ShortDatePattern)

运行它会产生输出:

1/18/2012

答案 1 :(得分:1)

您可以在调用.ToString()

时将格式字符串指定为参数

e.g。

DateTime.Now.ToString("dd-MMM-yy")

得到: -

18-Jan-2012 

至少今天,无论如何。

有关格式选项的详情,请参阅此文章。

http://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.100%29.aspx

请注意,来自服务器的任何日期都将位于服务器的本地时间。

如果您想报告客户日期,那么使用Javascript解决方案(将使用用户计算机上的日期)可能会容易得多。

答案 2 :(得分:1)

要正确格式化字符串,您可以使用:

<p><%= DateTime.Now.ToString("MM/dd/yyyy") %></p>

哪会给你01/18/2012(注意'M'的大小写。)

如果您想根据用户位置而不是服务器时间显示本地时间,可以使用。

<p><%= DateTime.Now.ToLocalString.ToString() %></p>

希望这有帮助。