使用JavaScript将MySQL时间戳或PHP日期时间转换为本地客户端日期时间
我正在尝试将MySQL时间戳和PHP时间戳转换为本地客户端时区基准日期时间,以显示在聊天消息中 意思是在数据库中,我们将有PHP datetime和MySQL时间戳存储和消息,但我想根据用户本地时区显示datetime,如果他在美国,则时区将根据他的时间 如果他是巴基斯坦人或苏塔弗里卡人,信息上显示的日期时间将是他的当地日期时间 这是我的密码使用JavaScript将MySQL时间戳或PHP日期时间转换为本地客户端日期时间,javascript,php,mysql,angularjs,datetime,Javascript,Php,Mysql,Angularjs,Datetime,我正在尝试将MySQL时间戳和PHP时间戳转换为本地客户端时区基准日期时间,以显示在聊天消息中 意思是在数据库中,我们将有PHP datetime和MySQL时间戳存储和消息,但我想根据用户本地时区显示datetime,如果他在美国,则时区将根据他的时间 如果他是巴基斯坦人或苏塔弗里卡人,信息上显示的日期时间将是他的当地日期时间 这是我的密码 <span class=""> at <% chatData.date_created | date:'MMM d,yyyy hh:mm
<span class=""> at <% chatData.date_created | date:'MMM d,yyyy hh:mm:ss a' %> </span>
这是我的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);
};
});
var-app=angular.module('ChatboxApp',['ngtimeago','elif',函数($interpolateProvider){
$interpolateProvider.startSymbol(“”);
}).filter('momentFilter',函数(){
返回函数(日期字符串,格式){
返回时刻(日期字符串)。格式(格式);
};
});
使用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>
Date格式:{{yourdate | momentFilter:'mmmd,yyyy hh:mm:ss'}
这是正在工作的plunker:谢谢@Tomislav,我需要为此从moment.js文件夹将这些文件添加到我的项目中。两个文件一个下载可用一个moment.js,另一个是moment+locales.jsit给了我这个错误语法错误:标记“17”是表达式第12列的意外标记[2016-01-11 17:54:27 | momentFilter:'MMM d,yyyyy hh:mm:ss']从[17:54:27 | momentFilter:'MMM d,yyyy hh:mm:ss]开始。对于此日期时间格式:我已在我的问题中添加了我的moment.js代码,请检查更改:Date:'MMM d,yyyyyy hh:ss a'到momentFilter:'MMM d,yyyyyyy hh:ss a'
<h4>Date formatted: {{yourdate | momentFilter:'MMM d,yyyy hh:mm:ss'}}</h4>