我有DateTime格式字符串'2017-08-18 06:00:00 IST'我要转换为'星期五2017年8月18日/ 06:00:00 IST'
请帮助我。
提前致谢。
答案 0 :(得分:0)
DateTime
转换为String
我不确切地说明您是否打算string --> DateTime --> string
...但是以下解决方案会执行DateTime
到string
,并获得所需的帮助输出:
// set a date in UTC format
DateTime dateUtc = new DateTime(2017, 08, 18, 06, 00, 00).ToUniversalTime();
// convert the UTC date to the IST time zone
DateTime dateIST = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dateUtc, "UTC", "India Standard Time");
string timeZoneText = "IST";
// the string you want
string result = String.Format("{0:ddd d}{1} {0:MMM yyyy / HH:mm:ss} {2}", dateIST,
(DateTime.Now.Day % 10 == 1 && DateTime.Now.Day != 11) ? "st"
: (DateTime.Now.Day % 10 == 2 && DateTime.Now.Day != 12) ? "nd"
: (DateTime.Now.Day % 10 == 3 && DateTime.Now.Day != 13) ? "rd"
: "th", timeZoneText);
这里的关键是字符串格式
{0:ddd d}{1} {0:MMM yyyy / HH:mm:ss} {2}
// 0 = DateTime (converted to your time zone, ex: IST)
// 1 = the "1st", "2nd", "3rd", "#th"
// 2 = "IST"
这将导致: 2017年8月18日星期五/ 06:00:00 IST