什么是JSON日期时间的TryParseExact格式化器?
What is the TryParseExact formatter for a JSON datetime?
我将DateTime
作为一个字符串传递给Web API 2调用,我不能为我的生命弄清楚我需要使用什么格式化器来获得TryParseExact
以获得精确的日期/时间。我正在删除客户机上的GMT偏移量,所以我需要它按原样接受参数,不带GMT。
var htmlDateString = "8/19/2015 12:00 AM";
var fromDate = new Date(htmlDateString);
//remove GMT offset
fromDate.setHours(fromDate.getHours() - (fromDate.getTimezoneOffset() / 60));
var wireFormattedDate = fromDate.toJSON(); //results in 2015-08-19T00:00:00.000Z
控制器:
public string Get(string fromDate)
{
DateTime parsedFromDate;
if(!DateTime.TryParseExact(fromDate, "?????", CulturInfo.InvariantCulture, DateTimeStyles.None, out from))
{
//some stuff
}
//some other irrelevant stuff
}
如果我使用TryParse
(没有格式化器),我得到GMT偏移值(我在GMT-6):
{8/18/2015 6:00:00 PM}
这不是我想要的。我尝试了以下几种格式化器的变体,它们都无法解析:
yyyy-MM-ddThh:mm:ss:ffz
yyyy-MM-ddThh:mm:ss:ffzz
yyyy-MM-ddThh:mm:ss:fffz
yyyy-MM-dd hh:mm:ss:fffz
需要指定不同的DateTimeStyle
吗?我需要为"T"answers"Z"字符做什么特别的处理吗?在JSON格式的日期时间上TryParseExact
的格式是什么?
使用格式:yyyy-MM-dd'T'HH:mm:ss.fff'Z'"
var isParsed = DateTime.TryParseExact(dateStr,
"yyyy-MM-dd'T'HH:mm:ss.fff'Z'",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out parsedFromDate);
另一种方法是指定DateTimeStyles.RoundtripKind
,如:
DateTime.TryParse(dateStr, CultureInfo.InvariantCulture,
DateTimeStyles.RoundtripKind,
out parsedFromDate);
还有一件事要补充,就个人而言,我总是在Javascript结束时使用特定的格式,然后在c#中使用相同的格式解析DateTime
。我会将Javascript DateTime
转换为字符串,然后将其传递给服务器端。
相关文章:
- 使用jquery在单击时在单元格中输入值
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 可以'我不明白为什么;t将行和单元格添加到表中
- 如何在Angular中的表的所有单元格中添加链接
- 表中单元格的总和
- ExtJS网格单元格编辑器,防止焦点松动问题
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 区分电子表格中的空单元格和0值
- ui网格将单元格显示为选择标记
- 单元格的工具提示或标题不显示超过2000个字符
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 允许表单元格内容水平展开
- 如何将jQuery/AAJAX结果放入表格单元格
- 使用jQuery只返回选中复选框后的第一个表单元格值
- jQuery-通过AJAX调用动态添加具有值的表单元格
- 需要将单元格值复制到html表中的其他单元格中
- 从Javascript中选定的行中获取特定单元格的值
- 使用JavaScript获取Gridview单元格值
- jQuery如何获取td单元格值
- 在 SlickGrid 中编辑后,根据不同列中的另一个单元格清除单元格