[英]Formatting an RSS Feed Date and Time
我有一个RSS Feed,我使用FeedRoll来创建它,我正在通过xslt将其拉入我的站点。 我的问题是我必须创建哪种格式的JavaScript才能格式化日期,使之看起来像这样:
十二月04,2013 05:00:00上午
而是看起来像:
2013年12月4日下午5:00
FeedRoll提供的脚本是:
<script language="JavaScript" src="http://www.feedroll.com/rssviewer/feed2js.php?
src=http%3A%2F%2Frss.cnn.com%2Frss%2Fcnn_topstories.rss&num=5&date=y&tz=+n/-
n/'feed'&utf=y" charset="UTF-8" type="text/javascript"></script>
显示如下:
看起来这个特定的提要是由php驱动的,并且偏移量设置为:+ n / -n /'feed',但这对我来说没有任何意义。 我怎样才能像上面所寻找的那样使月份缩短为零?
我假设Javascript是最简单的方法...从逻辑上讲,我陷入困境。
****更新****(这是我的样式表的外观):
<xsl:template name="news_feed">
<script language="JavaScript" src="{RSSSrc}" charset="UTF-8"
type="text/javascript"></script>
</xsl:template>
<xsl:template match="NewsPage">
<div class="news-block">
<div class="holder">
Image goes here...
<div class="section">
<dl>
<xsl:call-template name="news_feed"/>
</dl>
</div>
</div>
</div>
</xsl:template>
我很快可以让Google看到Feedroll仅提供这种日期格式。 (可以选择设置自定义时区)
如果您确实反对,则可以设置一个onload函数,该函数使用rss-date
类获取所有元素,然后将innerText
解析为Date对象。 然后将其再次输出为您选择的日期格式。
编辑:这是使用jquery的javascript实现。
最难的部分甚至不是选择和解析。 但是实际上只是将字符串格式化为所需的格式。 如果您不喜欢使用jquery,只需少量的工作就可以删除所有jquery。
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type='text/javascript'>
function myFormat(dateTime) {
var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
var dateString = months[dateTime.getMonth()] + ' ' + dateTime.getDate() + ', ' + dateTime.getFullYear();
var timeString;
if (dateTime.getHours() == 0)
timeString = "12:" + (dateTime.getMinutes()<10?"0"+dateTime.getMinutes():dateTime.getMinutes()) + "AM";
else if (dateTime.getHours() < 12)
timeString = dateTime.getHours() + ":" + (dateTime.getMinutes()<10?"0"+dateTime.getMinutes():dateTime.getMinutes()) + "AM";
else if (dateTime.getHours() == 12)
timeString = "12:" + (dateTime.getMinutes()<10?"0"+dateTime.getMinutes():dateTime.getMinutes()) + "PM";
else
timeString = (dateTime.getHours()-12) + ":" + (dateTime.getMinutes()<10?"0"+dateTime.getMinutes():dateTime.getMinutes()) + "PM";
return dateString + ' ' + timeString;
}
$(document).ready(function() {$('.rss-date').each(function() {$(this).text(myFormat(new Date($(this).text())));});});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.