【问题标题】:Date & Time Separation日期和时间分离
【发布时间】:2011-05-25 13:50:31
【问题描述】:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="inpHide" type="hidden" runat="server" />
        <input id="inpHide1" type="hidden" runat="server" />
        <asp:Label ID="Label1" runat="server"></asp:Label>
        <asp:Label ID="Label2" runat="server"></asp:Label>
        <asp:Label ID="Label3" runat="server"></asp:Label>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Width="100px" Height="30px" Text="Button" />
    </div>
    <script language="javascript" type="text/javascript">
        var current_date = new Date();
        var current_timezone = current_date.getTimezoneOffset();
        document.getElementById("inpHide").value = current_timezone * -1;
        document.getElementById("inpHide1").value = current_date;
        </script>
</body>
</html>

protected void Button1_Click(object sender, EventArgs e)
{
        Label1.Text = inpHide.Value.Trim();
            Label2.Text = inpHide1.Value.Trim();
            Label3.Text = Label2.Text;
}

【问题讨论】:

  • 这里不是很清楚你的输入和输出类型。请你澄清一下?

标签: c# asp.net timezone


【解决方案1】:
DateTime dt;
string Temp1 = "Your Date";
if (Temp1.LastIndexOf("GMT") > 0)
{
    Temp1 = Temp1.Remove(Temp1.LastIndexOf("GMT"));
}
Temp1 = "Wed May 25 23:43:31 UTC+0900 2011";
if (Temp1.LastIndexOf("UTC") > 0)
{
     Temp1 = Temp1.Remove(Temp1.LastIndexOf("UTC"), 9);
     string[] split = Temp1.Split(' ');
     Temp1 = split[0] + " " + split[1] + " " + split[2] + " " + split[4] + " " + split[3];
}
if (DateTime.TryParse(Temp1, out dt))
{
     // If it is a valid date
     string date = dt.ToShortDateString();
     string time = dt.ToShortTimeString();
}

【讨论】:

  • string Temp1="2011 年 5 月 25 日星期三 19:15:49 GMT+0530(印度标准时间)";从上面的字符串 Temp1 中,我需要单独将“2011 年 5 月 25 日”与 Temp1 分开。这样我就可以字符串 Temp2="25/05/2011";
  • 你提到的格式应该是在修剪GMT之后的部分,最后在验证之后准备的。
  • 对不起 SQL,您的代码不能正常工作。在调试过程中,函数没有进入“if”循环。
  • 很抱歉给出错误的答案,您的代码正在运行。如果假设字符串 Temp1="Wed May 25 23:43:31 UTC+0900 2011".. 你的代码当时不工作。
  • 我同意你的回答 SQL,但是在 GMT 中仍然存在一个问题,这一年在它的前面,但在 UTC 中,它是在它之后的一年。如果我使用您的代码,我的代码适用于 GMT,但不适用于 UTC 在年份检测方面。
【解决方案2】:

我使用字符串格式,如 www.csharp-examples.net 的 C# Examples 页面所述:

String.Format("{0:t}", dt);  // "4:05 PM"                         ShortTime
String.Format("{0:d}", dt);  // "3/9/2008"                        ShortDate

【讨论】:

  • 我的代码是 string sample="Wed May 25 23:43:31 UTC+0900 2011"; string.format 不适用于上述代码。
【解决方案3】:

你应该看看msdn documentation around DateTime

您应特别注意 parse 函数和各种 ToString 函数,注意您传入的字符串格式(或根据当前文化),以确保获得您期望的格式。

【讨论】:

  • 不用担心@Arun,希望对您有所帮助。
【解决方案4】:

我不确定您使用的是哪种编程语言,但大多数语言都有在空格处分断字符串的功能。您可以通过这种方式断开字符串,然后取出日期元素并使用它们。

【讨论】:

  • 嗨@astay13,你说得对,这不是很清楚,但我相信 Arun 正在使用 c# / asp.net,正如它在问题标签中所说的那样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
相关资源
最近更新 更多