Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:将UTC日期时间转换为传递时区';日期时间_Javascript_Date_Datetime_Datetime Format_Datetimeoffset - Fatal编程技术网

JavaScript:将UTC日期时间转换为传递时区';日期时间

JavaScript:将UTC日期时间转换为传递时区';日期时间,javascript,date,datetime,datetime-format,datetimeoffset,Javascript,Date,Datetime,Datetime Format,Datetimeoffset,我正在寻找一个javascript函数来将UTC日期时间转换为传递时区的日期时间格式。我必须根据用户的位置通过时区。我不允许使用任何日期库 我的UTC日期时间字符串:“2016-04-10 09:00:00.0” 通过时区:美国东部时间 预期输出1:“2016年4月10日” 预期输出2:04美国东部时间上午 你能给我一些关于Js功能的见解来满足我的需求吗 注:我不能使用任何第三方日期库进行此项工作。您可以创建一个如下函数,将UTC时间转换为给定的时区偏移: //计算本地时间的函数 函数calc

我正在寻找一个javascript函数来将UTC日期时间转换为传递时区的日期时间格式。我必须根据用户的位置通过时区。我不允许使用任何日期库

我的UTC日期时间字符串:
“2016-04-10 09:00:00.0”

通过时区:美国东部时间

预期输出1:
“2016年4月10日”

预期输出2:
04美国东部时间上午

你能给我一些关于Js功能的见解来满足我的需求吗


注:我不能使用任何第三方日期库进行此项工作。

您可以创建一个如下函数,将UTC时间转换为给定的时区偏移:

//计算本地时间的函数
函数calcTime(日期字符串、城市、偏移量){
d=新日期(日期字符串);
utc=d.getTime()+(d.getTimezoneOffset()*60000);
nd=新日期(utc+(3600000*偏移量));
变量选项={}
//应用程序可能希望使用UTC并使其可见
options.timeZone='America/'+城市;
options.timeZoneName='short';
返回nd.toLocaleString('en',选项)
}
document.write('服务器上的本地时间:2016-04-10T09:00:00'+'
'))
文件。书写('EST/EDT当地时间:'+计算时间('2016-04-10T09:00:00','纽约','-5.0')我使用这个时间管理,试试你的,也许你在找这个


我得到了无效的日期,因为我已经修复了IE的响应,Chrome似乎对日期格式更为宽松。有没有办法,当您将偏移量传递为-5时,您可以动态地将时区字符串填充为EST?例如输出中的凌晨4点EST。我修改了函数,以便它接受一个城市(例如纽约)。这将允许您打印时区。这不是答案,应该是注释。OP还声明图书馆不能使用。好吧,对不起,伙计们,我认为其他的东西你应该展示你已经尝试过的东西,这不是免费的编码服务。如果这是家庭作业或作业,你应该这样说。您的字符串与任何标准都不一致,您需要手动解析它(2行代码)。调整到一个特定的时区只需要修改适当的时间。关于如何做到这一点,这里有很多问题和答案。搜索、尝试某个内容,如果不起作用,请再次发布。