在角度 JS 中将字符串转换为子字符串
string to substring conversion in angular js
{"segments":
[
{
"Group":0,
"Carrier":"TK",
"FlightNumber":"###",
"ChangeOfPlane":false,
"OptionalServicesIndicator":false,
"FlownSegment":false,
"ScheduleChange":false,
"Origin":"LHR",
"Destination":"IST",
"DepartureTime":"2016-04-12T16:30:00.000+01:00",
"ArrivalTime":"2016-04-12T22:20:00.000+03:00"
}
{
"Group":0,
"Carrier":"TK",
"FlightNumber":"118",
"ChangeOfPlane":false,
"OptionalServicesIndicator":false,
"FlownSegment":false,
"ScheduleChange":false,
"Origin":"IST",
"Destination":"KHI",
"DepartureTime":"2016-04-13T00:10:00.000+03:00"
}
]
}
这就是我想要的结构,这个字符串"出发时间":"2016-04-12T16:30:00.000+01:00"变成这种格式"21 Apr 04:40"谁能帮我,我是 Angular JS 的新手,我想要一个过滤器,可以将我的字符串转换为我想要的结果。非常感谢
在你的范围内需要这个
var s = "2016-04-13T00:10:00.000+03:00"; //DepartureTime
$scope.v = {
Dt: s
}
并在带有过滤器的 HTML 中
Angular: {{v.Dt | date:'dd MMMM HH:mm'}} <br />
更新:根据您在评论中编写的内容解析您的 json,该
在您的 ctrl 中
var m = yourJson;
$scope.items = m.segments;
在你的 HTML 中
<li ng-repeat="i in items">{{i.DepartureTime}}</li>
现在您可以使用过滤器
我建议你像edrian说的那样使用别人的代码(时刻.js真的很棒(。
但是,如果你想自己做这件事,在原生javascript中,你需要自己解析日期。您可以参考Mozilla的开发人员日期页面,您可以在其中找到有关如何使用该日期的信息。
我为你构建了一个小的jsfiddle,它完全可以做你想要的:https://jsfiddle.net/ruwqmd2u/
您可以看到,在使用日期创建日期后,我正在逐行解析整个代码,同时调用一个函数来处理月份名称:
var myDate = new Date("2016-04-12T16:30:00.000+01:00");
// Parse the date
var day = myDate.getDay();
var month = getMonthName(myDate.getMonth());
var hours = myDate.getHours();
var mins = myDate.getMinutes();
// Get a month name from number
function getMonthName(number) {
if (number===1) return "Jan";
if (number===2) return "Feb";
if (number===3) return "Mar";
if (number===4) return "Apr";
if (number===5) return "May";
if (number===6) return "Jun";
if (number===7) return "Jul";
if (number===8) return "Aug";
if (number===9) return "Sep";
if (number===10) return "Oct";
if (number===11) return "Nov";
if (number===12) return "Dec";
}
解析
日期对象的最佳选择是使用 moment.js
如果要使用过滤器解析日期,可以安装角度矩模块。
然后,您可以在视图中执行以下操作(假设您已将"出发时间"值分配给$scope.date(:
<span>{{ date | amParse:'DD MMM HH:mm' }}</span>
希望对您有所帮助1
Moment.js 是解析日期的一个非常好的选择。如果您想在项目中使用它,那么解决方案非常简单,如下所示:
moment(DepartureTime).format('DD MMM h:m');
e.g. moment('2016-04-12T16:30:00.000+01:00').format('DD MMM h:m');
您可以选择其角度版本。你可以看看角度时刻js。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 将字符串转换为格式化日期
- IE在将字符串转换为日期时从日期中删除4小时
- node.js将字符串转换为要上传到Web服务器的文件
- 将字符串转换为JS对象
- 在js中将字符串转换为十六进制
- 试图了解如何使用parseFloat将字符串转换为数字
- 如何在html中将字符串转换为数字?以及如何将变量传递到scriptlet代码中
- 将字符串转换为GWT中的JSON对象(JSNI)
- 如何使用Razor显示模板将字符串转换为html字符串
- 将字符串转换为数组编号Javascript
- js字符串转换为具有两个值的对象
- 转换<a>使用jQuery将文本字符串转换为dom元素
- Jquery-将字符串转换为reg exp对象
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 将JavaScript字符串转换为整数
- moment js,将EST字符串转换为UTC
- 如何在javascript中将字符串转换为有效日期
- 通过JQuery将字符串转换为JSON