簡體   English   中英

無法將字符串識別為有效的DateTime。 :僅服務器錯誤

[英]String was not recognized as a valid DateTime. : Error only in Server

不在本地主機中的服務器中發生日期時間解析錯誤,可能是由於本地主機和服務器上的時區不同,代碼:我正在嘗試將24小時時間格式設置為12小時(使用AM和PM)

 string timesx2 = hr2[0]+":" + hr2[1];  //     19:22
 string s2 = DateTime.ParseExact(timesx2, "HHmm", CultureInfo.CurrentCulture)
    .ToString("hh:mm tt"); // output in localhost is: 7.22 PM 

您應該使用不變的區域性(當然,如果您不需要轉換為時區)

    string timesx2 =hr2[0] + ":" + hr2[1];  //     19:22
    string s2 = DateTime.ParseExact(timesx2, "HH:mm", CultureInfo.InvariantCulture).ToString("hh:mm tt", CultureInfo.InvariantCulture); // output in localhost is: 7.22 PM 

在印度文化中也可以。

您的解析字符串缺少冒號。

當您嘗試解析由HHmm組成的字符串時,您組成的時間字符串的格式為HH:mm 那不管用。

如果希望發生一位數的小時,也請從輸出格式字符串中刪除第二個h 否則,輸出將為07:22 PM。

 string timesx2 = hr2[0]+":" + hr2[1];  //     19:22
 string s2 = DateTime.ParseExact(timesx2, "HH:mm", CultureInfo.InvariantCulture)
    .ToString("h:mm tt"); // output in localhost is: 7:22 PM 

大寫字母“ H”表示24小時制,小寫字母“ h”表示12小時制,將遵循候選字符串中的AM / PM。

DateTime.ParseExact("3/21/2015 8:56:04 AM", "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture)

將您的當地時間轉換為UTC時間

DateTime utcTime = TimeZoneInfo.ConvertTimeToUtc(localDatetime); //Convert sent datetime to UTC.

從區域名稱獲取時區信息。 此處獲取區域名稱

TimeZoneInfo zoneInfo = TimeZoneInfo.FindSystemTimeZoneById(zoneName);
DateTime finalDatetime = TimeZoneInfo.ConvertTime(utcTime, zoneInfo);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM