使用 moment js 将 PHP myadmin 时间字符串转换为具有正确格式的本地时区 (IST)
Convert PHP myadmin time string to local time zone(IST) with proper format with moment js
我想使用 moment.js 将 GMT 日期时间字符串显示为 IST(GMT +0530) 时间格式。我将 PHP 日期时间值分配给 javascript 变量,然后使用 moment.tz().format();
方法将 GMT 时间转换为 IST 时间。但是当我通过指定格式参数来提醒转换后的值时,提醒会显示带有中文字母的格式化时间。 moment.js 显然令人困惑。请帮我解决这个问题...
GMT 日期时间值是 "2014-11-28 20:15:26"
这是我从 PHP 变量
得到的
"2014-11-29T01:45:26+05:30"
是使用 moment.tz(m,zone).format();
将日期时间变量的值转换为 IST 的值
"11月 29日 2014 1:45 早上"
是格式参数moment.tz(m,zone).format('MMM Do YYYY h:mm a');
转换后的值
我的密码是
var start_dates = '<?php echo $times_start; ?>';
var zone = "Asia/Kolkata";
var m = moment.tz(start_dates,'Europe/London').format();
var time = moment.tz(m,zone).format('MMM Do YYYY h:mm a');
获得中文字符的唯一方法是使用 lang
或 locale
函数设置中文区域。您可能已经在脚本的其他地方完成了该操作。
关于您编写的代码,它将输入解释为伦敦时间 - 这与 GMT 或 UTC 不同。 (伦敦在 GMT 和 BST 之间交替进行夏令时。)
您也不需要为了再次解析它而对其进行格式化。
您只需要这样做:
var m = moment.utc(start_dates);
var time = m.tz(zone).format('MMM Do YYYY h:mm a');
这适用于任何受支持的区域。但是,如果您知道您将始终转换为印度标准时间这一事实,因为它不使用 DST,那么您实际上并不需要时刻时区。你可以这样做:
var m = moment.utc(start_dates);
var time = m.utcOffset("+05:30").format('MMM Do YYYY h:mm a');
我想使用 moment.js 将 GMT 日期时间字符串显示为 IST(GMT +0530) 时间格式。我将 PHP 日期时间值分配给 javascript 变量,然后使用 moment.tz().format();
方法将 GMT 时间转换为 IST 时间。但是当我通过指定格式参数来提醒转换后的值时,提醒会显示带有中文字母的格式化时间。 moment.js 显然令人困惑。请帮我解决这个问题...
GMT 日期时间值是
"2014-11-28 20:15:26"
这是我从 PHP 变量 得到的
"2014-11-29T01:45:26+05:30"
是使用moment.tz(m,zone).format();
将日期时间变量的值转换为 IST 的值
"11月 29日 2014 1:45 早上"
是格式参数moment.tz(m,zone).format('MMM Do YYYY h:mm a');
转换后的值
我的密码是
var start_dates = '<?php echo $times_start; ?>';
var zone = "Asia/Kolkata";
var m = moment.tz(start_dates,'Europe/London').format();
var time = moment.tz(m,zone).format('MMM Do YYYY h:mm a');
获得中文字符的唯一方法是使用 lang
或 locale
函数设置中文区域。您可能已经在脚本的其他地方完成了该操作。
关于您编写的代码,它将输入解释为伦敦时间 - 这与 GMT 或 UTC 不同。 (伦敦在 GMT 和 BST 之间交替进行夏令时。)
您也不需要为了再次解析它而对其进行格式化。
您只需要这样做:
var m = moment.utc(start_dates);
var time = m.tz(zone).format('MMM Do YYYY h:mm a');
这适用于任何受支持的区域。但是,如果您知道您将始终转换为印度标准时间这一事实,因为它不使用 DST,那么您实际上并不需要时刻时区。你可以这样做:
var m = moment.utc(start_dates);
var time = m.utcOffset("+05:30").format('MMM Do YYYY h:mm a');