我知道我之前已经做过,但是不知道怎么做。给定以下内容,我想输出日期。我遇到的问题是写入了getDate('@ Model.Date')。
<script type="text/javascript">
function getDate(date) {
var offset = new Date().getTimezoneOffset();
var dt = new Date(date);
dt.setHours(dt.getHours() + (offset / -60));
return dt;
}
</script>
<div class="time">
<font class="time time-type">@Model.DateType:</font> <font class="time">getDate('@Model.Date');</font>
</div>
答案 0 :(得分:0)
您不能像这样调用javascript函数。您需要添加标签控件并从javascript部分分配标签文本。
times
然后您的Javascript函数将文本分配给它
<div class="time">
<font class="time time-type">@Model.DateType:</font><label id="dateDisplay" class="time"></label>
</div>
答案 1 :(得分:0)
我将asp.net-mvc,jquery和momentjs与Time HtmlElement一起使用
(如果确实需要使用原始javascript进行转换,则很容易转换,这是在typescript中完成的,因此您也可以将let
替换为var
来用于纯javascript)
/Views/Shared/DisplayTemplates/datetime.cshtml:
@model DateTime
<time datetime="@Model.ToString("o")"></time>
根页面模板/脚本文件中的一些Javascript:
let $timeCache = $('time[datetime]');
// enable to update the display of the date/time if you're using
// momentjs friendly date times
// setInterval(() => updateTime(), 60000);
function updateTime() {
$timeCache.each((index, element) => {
let $element = $(element);
let momentTime = moment($element.attr('datetime'));
$element.text(momentTime.fromNow());
});
}
updateTime();
用法:
模型
public class MyModel
{
public DateTime StartedOn { get; set; }
}
视图
@model MyModel
@Html.DisplayFor(m => m.StartedOn)