[英]Get full day Name from DateTime in C#
当我从日历中选择日期时,我有 js 日历它调用 C# 服务,该服务将字符串作为参数。 它以 Mon Apr 18 2016 00:00:00 GMT 0500 格式获取日期。 我想要星期一而不是星期一。
我的java脚本代码是
$scope.deliveryDateTime = { Day: new Date(2015, 11, 28, 14, 57) };
var DeliveryDay = $scope.deliveryDateTimeData.Day;
$http.get(meta.service.GetTimeAvlb+'?day='+ DeliveryDay).
success(function (data) {
debugger;
console.log("Data" + data);
$scope.AvailiableTimeData = data.data;
}
}).
error(function (data) {
});
这是我的 C# 服务代码
public ApiResult GetTimeAvlb( string day )
{
var splitDay = day.Split(' ');
string dayName1 = splitDay[0].ToString();
apiresilt.data = db.TimeAvaliblities.Where(ss => ss.DayName == dayName1).ToList();
return apiresilt;
}
这里 dayName1 返回 Mon 而我的数据库有值 Monday 。
.ToString("Format-String")
可用于以所需格式显示日期;
DateTime dt = DateTime.Now; will be the current date APR/01/2016
string str = dt.ToString("dddd"); // this will be Friday for 04/01/2016
如果您真的想将此string
解析为DateTime
,则必须使用GMT 0500 (Pakistan Standard Time)
部分作为字符串文字。 DateTime 解析方法不支持时区名称和没有TimeSeparator
UTC Offset 部分。
然后,您可以将DateTime.ToString
方法与dddd
说明符和基于英语的文化(如InvariantCulture
。
var s = "Mon Apr 18 2016 00:00:00 GMT 0500 (Pakistan Standard Time)";
var dt = DateTime.ParseExact(s, "ddd MMM dd yyyy HH:mm:ss 'GMT 0500 (Pakistan Standard Time)'",
CultureInfo.InvariantCulture);
Console.WriteLine(dt.ToString("dddd", CultureInfo.InvariantCulture));
顺便说一句,没有日期时间字符串这样的东西。 您的数据可以是DateTime
或string
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.