瞬间本地化在格式化日期时是否不考虑时间?

问题描述

function formatedDate (localid,inputdate) {
 var locale = 'es_MX';
     console.log(locale,inputdate)
     // Set locale to moment
      moment.locale(locale);
     // Get locale data
     const localeData = moment.localeData(locale);
     const format = localeData.longDateFormat('L');
     const m2 = moment(new Date(inputdate),format);
     console.log(m2.format());
     console.log(m2.format(format) + ' using format: ' + format);
return m2.format(format)
};

 

console.log(formatedDate('ex-MX','2020-10-07T06:02:55Z'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>

我需要根据国家/地区转换日期,这完全取决于位置。

所以我正在尝试通过使用js瞬间实现

这里的日期以UST格式存储在数据库中

示例:如果输入“ 2020-10-07T09:30:00”

2020年6月10日的预期产量

这里的日期是根据语言环境设置的格式,但未考虑时间,它的所有区域都根据时间和语言环境以不同的格式显示同一日期。

注意:我只需要显示日期(但应考虑格式化时间)

在我的有角度的应用程序中,它没有按预期方式工作,我做错了什么,有人可以帮助我吗。

预先感谢

解决方法

function formatedDate (localid,inputdate) {
     const local = moment(inputdate).locale(localid)
     return local.format('L')
};

 

console.log(formatedDate('ex-MX','2020-10-07T06:02:55Z'));

如果您希望基于时区的本地时间,请使用moment-timezone

   function formatedDate(date,timezone){
      return moment.tz(date,timezone).format('LLLL');
   }
,

语言环境与时区无关,因为一个语言环境可能属于多个时区。例如,en-US有6个时区。因此,我认为传递语言环境不会将您的日期转换为预期的时区。

您可以使用angular提供的DatePipe进行格式设置和时区转换。

如果您的日期在UST中,则可以通过增加4个小时将其转换为UTC。然后将其转换为所需的时区-

@Component({
  selector: 'my-app',templateUrl: './app.component.html',styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
 zone = 'IST';
 locale = 'en-US'; 
 currentDate = '';
  constructor(private date: DatePipe) {

  }
  getTime() {
    // Date is in UTC (suffix z)
    const d = this.date.transform('2020-10-07T09:30:00Z','short',this.zone,this.locale);
    console.log(d);
    this.currentDate = d;
  }

请参阅this example

注意

我不确定您是否有可用的时区,但是只要知道位置,就可以随时获取(请参见this答案)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...