gpt4 book ai didi

JavaScript GetDate 无法跨区域工作

转载 作者:行者123 更新时间:2023-12-02 14:59:55 34 4
gpt4 key购买 nike

我有一些 JS 代码,它接收客户端的日期/时间并将其传递到服务器,如下所示:

function SetPostbackValues() {
//Function that gets the client machine datetime and stores it in a hidden field
// so it may be used in code behind.
var date = new Date();
var day = date.getDate(); // yields day
if (day < 10)
day = '0' + day;
var month = date.getMonth() + 1; // yields month
if (month < 10)
month = '0' + month;
var year = date.getFullYear(); // yields year
var hour = date.getHours(); // yields hours
if (hour < 10)
hour = '0' + hour;
var minute = date.getMinutes(); // yields minutes
if (minute < 10)
minute = '0' + minute;
var second = date.getSeconds(); // yields seconds
if (second < 10)
second = '0' + second;

var time = day + "/" + month + "/" + year + " " + hour + ':' + minute + ':' + second;
var hiddenControl = '<%= hfDateTime.ClientID %>';
document.getElementById(hiddenControl).value = time;
}

我的问题是,当客户端时区设置设置为英国标准 dd/MM/yyyy 时,代码工作正常,但是当美国客户端连接时,转换为 DateTime 会引发错误,指出它不正确格式。

因为我分别获取每个月、日、年并将它们组合起来,所以我不明白为什么它不能跨不同区域设置工作。

尝试将日期时间插入 SQL 时发生错误:

using (SqlCommand cmd = new SqlCommand("Remove", con))
{
string test = (this.Master.FindControl("hfDateTime") as HiddenField).Value;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@RemovalDate", SqlDbType.DateTime).Value = (this.Master.FindControl("hfDateTime") as HiddenField).Value; //Get the client's datetime.
con.Open();
insertedRecordID = (int)cmd.ExecuteScalar();
}

错误是{“无法将参数值从字符串转换为日期时间。”}

测试的值是:“19/02/2016 10:55:45”,这对我来说没有问题。

最佳答案

我认为你应该使用这个:

function SetPostbackValues() {
var date = new Date();
var hiddenControl = '<%= hfDateTime.ClientID %>';
document.getElementById(hiddenControl).value = date.toISOString();
}

并将代码隐藏更改为

cmd.Parameters.Add("@RemovalDate", SqlDbType.DateTime).Value = DateTime.Parse((this.Master.FindControl("hfDateTime") as HiddenField).Value);

关于JavaScript GetDate 无法跨区域工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502595/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com