【问题标题】:Need to change date format in angular 2需要更改角度 2 中的日期格式
【发布时间】:2017-07-05 09:48:07
【问题描述】:

目前使用 Date() 以格式给出它

Wed Jul 05 2017 15:14:53 GMT+0530 (India Standard Time)

我想更改它,以便以这种格式获取它(希望 GMT 时间而不是 IST)

Jul 5 15:14:53 2017 GMT

我也想知道如何才能让时间从现在开始说 2 年后。

编辑:

我已经修复了格式,但现在在将其设置为 gmt 时间而不是通过以下方式修复它时遇到问题:

let d = new Date();
let month = d.toLocaleString("en-us", { month: "short" });
let datestring = month + " " + d.getDate() + " " + (d.getHours()) + ":" + (d.getMinutes())+ ":" +d.getSeconds() + " " + (d.getFullYear()+2) + " GMT";

但自然不会真正显示 gmt,它只是 IST,所以现在正在尝试修复它。

【问题讨论】:

  • 如果它存储在字符串变量中,只需使用“slice”以您想要的方式显示它,例如:{{data_time | slice:0:10}} ...等,试试吧,你会弄清楚其余的,希望它有帮助。
  • 尝试使用date 管道,假设您正在尝试输出日期。你是吗?
  • 我已经修复了格式,但现在问题在于将当前时间更改为 gmt 时间......
  • 但是印度的 15:14 不是格林威治标准时间 15:14。为什么要将印度时间显示为 GMT 时间,而实际上却不是?
  • @torazaburo 我添加了一个编辑

标签: javascript angular date typescript


【解决方案1】:

您可以像这样以角度操作日期。这有帮助吗!

  const date = new Date();
           const year = date.getFullYear();
           const month = date.getMonth();
           const day = date.getDay();
           console.log(year);
           console.log(year + 2);
           date.setFullYear(year + 2, month, day);
           console.log(date);
           console.log(date.toLocaleString());

输出:

【讨论】:

    【解决方案2】:

    我建议你使用momentjs.com这样的库。

    moment(mydate).add(1, 'year');
    

    Moment 提供方法来比较 2 个日期...等。我想我会满足你的需求。

    【讨论】:

    • 我还会创建一个 agular2 管道。
    • 完美,使用moment.js。我愿意。
    • 你可能会工作,但有没有办法做到这一点,而无需下载该库?也不想分离日期组件并连接原因,这不是一种真正干净的书写方式。
    • 看看有角的 2 个日期管道。 angular.io/api/common/DatePipe
    【解决方案3】:

    您可以使用momentjs 库并获取格林威治标准时间的日期,如下所示:

    @Pipe({
        name: 'gmtDate'
    }) export class GmtDate implements PipeTransform {
        transform(value: Date, addYear: number = 0): string {
            // utc() - turns date into GMT
            return moment(value).add(addYear, 'year').utc().format("MMM D HH:mm:ss YYYY")
        }
    }
    
    @Component({
        selector: 'my-app',
        template: `
            <div>
              <h2>{{myDate | gmtDate}}</h2>
              <h2>{{myDate | gmtDate:2}}</h2>
            </div>
        `,
    }) export class App {
        myDate: string = new Date();;
    }
    

    这是上述管道的plnkr 演示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 1970-01-01
      相关资源
      最近更新 更多