我正在尝试将 MySQL 时间戳和 PHP 时间戳转换为本地客户端时区基准日期时间以显示在聊天消息中 意思是在数据库中我们将有 PHP 日期时间和 MySQL 时间戳存储消息,但我想根据用户本地时区显示该日期时间,如果他在美国,那么时区将根据他的时间
如果他是巴基斯坦或南非,消息上显示的日期时间将是他本地的日期时间 这是我的代码
<span class=""> at <% chatData.date_created | date:'MMM d,yyyy hh:mm:ss a' %> </span>
但这显示的是存储在 date_created 列中的相同日期时间
2016-01-11 17:54:27
实际值不是这个日期时间
Jan 11, 2015 8:40:23 AM
这是我的 Angular 应用程序初始化,我添加了 moment-with-locales.js 文件
var app = angular.module('ChatboxApp', ['ngtimeago','elif'],function($interpolateProvider){
$interpolateProvider.startSymbol('<%');
$interpolateProvider.endSymbol('%>');
}).filter('momentFilter', function() {
return function(dateString, format) {
return moment(dateString).format(format);
};
});
最佳答案
使用 moment.js 制作过滤器:
var app = angular.module('TestApp', [])
.filter('momentFilter', function() {
return function(dateString, format) {
return moment(dateString).format(format);
};
});
然后在您的 HTML 中应用该过滤器:
<h4>Date formatted: {{yourdate | momentFilter:'MMM d,yyyy hh:mm:ss'}}</h4>
这是工作中的 plunker:plnkr.co/edit/wWnnzr2c7scSVgwbMIgu?p=preview
关于javascript - 使用 Angular JavaScript 将 MySQL 时间戳或 PHP 日期时间转换为本地客户端日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722285/