【问题标题】:Convert MySQL timestamp or PHP datetime to local client datetime using Angular JavaScript使用 Angular JavaScript 将 MySQL 时间戳或 PHP 日期时间转换为本地客户端日期时间
【发布时间】:2016-01-11 13:04:13
【问题描述】:

我正在尝试将 MySQL 时间戳和 PHP 时间戳转换为本地客户端时区基准日期时间,以显示在聊天消息中 意味着在数据库中,我们将同时存储 PHP 日期时间和 MySQL 时间戳,但我想根据用户本地时区显示该日期时间,如果他在美国,那么时区将根据他的时间

如果他是巴基斯坦或 SoutAfrica,则消息上应显示的日期时间将是他的当地日期时间 这是我的代码

<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);
    };
});

【问题讨论】:

    标签: javascript php mysql angularjs datetime


    【解决方案1】:

    使用 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>
    

    这里是工作插件:plnkr.co/edit/wWnnzr2c7scSVgwbMIgu?p=preview

    【讨论】:

    • 感谢@Tomislav 我需要从 moment.js 文件夹中将哪些文件添加到我的项目中。
    • 两个一个下载一个moment.js,另一个是moment+locales.js
    • 它给了我这个错误语法错误:令牌'17'是表达式 [2016-01-11 17:54:27 | 第 12 列的意外令牌momentFilter:'MMM d,yyyy hh:mm:ss'] 从 [17:54:27 | momentFilter:'MMM d,yyyy hh:mm:ss]。对于这个日期时间

      日期格式:

    • 我在我的问题中添加了我的 moment.js 代码,请检查一下
    • 更改:date:'MMM d,yyyy hh:mm:ss a' 到 momentFilter:'MMM d,yyyy hh:mm:ss a'
    猜你喜欢
    • 2011-06-20
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多