在本地计算机上找不到时区ID“CST”

时间:2017-02-08 21:02:16

标签: c# angularjs

我在MAC操作系统中创建货件时遇到问题。在Windows操作系统中,网站运行正常。任何帮助将不胜感激

感谢。

代码:

createOrUpdateShipment: function (shipmentHeader) {


----------

        var tzm= (/\((.*)\)/.exec(new Date().toString())[1]);
        return $http.post('/shipment/CreateOrUpdateShipment?tzm='+tzm, shipmentHeader)
    },

在控制器中

 public ActionResult CreateOrUpdateShipment(ShipmentInfo shipmentInfo, string tzm)
    TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(tzm);
shipmentInfo.ServiceInfo.READYDATETYPE =       TimeZoneInfo.ConvertTime(shipmentInfo.ServiceInfo.READYDATETYPE,tzi);  

我尝试使用MAC操作系统

创建货件时遇到错误

获取错误时区未找到异常。找不到时区ID“CST”

1 个答案:

答案 0 :(得分:1)

.NET中的时区由其全名标识,而不是缩写。您正在拨打FindSystemTimeZoneById。此API需要"Central Standard Time",而不是"CST"

我猜你的Mac客户端正在发送tzm=CST,而你的Windows客户端正在发送tzm=Central+Standard+Time。您的服务器仅在客户端拼出它时才有效。