当前位置: 首页 > 知识库问答 >
问题:

在JavaScript中将EST时区日期转换为“dd-mmm-yyyy”格式

阮华美
2023-03-14

我的日期是2013年12月11日星期三东部标准时间00:00:00这种格式。我想用JavaScript将此日期转换为dd-mmm-yyyy格式。如何在不改变时区的情况下进行转换。

我搜索了这个解决方案,发现下面的解决方案:

function getDateObject(dateString) {

    var dt = "";
    var ind = dateString.indexOf("EST");

    dt = dateString.substring(0, ind);
    dt += dateString.substring(ind+3, dateString.length);
    return new Date(dt);
}  
//convert this date into dd-mmm-yyyy format    
var now = getDateObject(MyDateString);
var frmDate = now.format('dd-mmm-yyyy');  

但我认为这不是一个好的解决方案,因为如果我的日期字符串时区从EST更改为IST或任何其他时区,它将不起作用。
是否有将日期转换为所需格式的好解决方案?
提前感谢。
编辑:如果有任何一个使用JQuery的解决方案,它也很好。

共有3个答案

陆野
2023-03-14

Hi建议您使用以下JS Library moment.JS-http://momentjs.com/

    <!DOCTYPE html>
<html>
<!--
  Created using jsbin.com
  Source can be edited via http://jsbin.com/xicixeku/1/edit
-->
<head>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.7.0/moment.js"></script>  
  <meta charset="utf-8">
  <title>JS Bin</title>  

<style id="jsbin-css">

</style>
</head>
<body>



<script>
$(function()
  {
    var myDate = moment("Wed Dec 11 00:00:00 EST 2013");
    alert (myDate);        
    var newDate = moment(myDate).format('DD-MMM-YYYY');
    alert (newDate);
  });
</script>
</body>
</html>

我已经用上面的例子创建了一个JsBin,这样你就可以使用它了——希望它能完全满足你的需求。这是链接

埃德森

邵弘义
2023-03-14

如果您的日期保持与2013年12月11日星期三00:00:00 EST相同的格式,则从该日期值中提取子字符串。
在您的情况下,如果

var dt = 'Wed Dec 11 00:00:00 EST 2013';

然后

dt.substr(8,2)+"-"+dt.substr(4,3)+"-"+dt.substr(24,4) 

将于2013年12月11日为您提供

尉迟越
2023-03-14

如果JSON日期的格式类似于date(1396895400000)

然后将JSON日期转换为字符串格式,如下所示:

var dt=new Date(parseInt((/Date(1396895400000)/). substr(6))). toString();

然后dt将看起来像Tue Apr08 2014 00:00:00GMT 0530(印度标准时间)

现在从dt中取子字符串,如下所示:

dt.substr(8, 2) + "-" + (dt.substr(4, 3)) + "-" + dt.substr(11, 4)

那么你的约会日期将看起来像2014年4月8日

 类似资料:
  • 问题内容: 当我在下面的代码下运行时,出现Unparseable错误。如何将dd MMM yyyy格式转换为dd / MM / yyyy格式? 问题答案: 假设您修复了明显的语法错误,则: 您要做的就是为您需要解析的格式创建一个解析器,并为您想要的格式创建一个格式化器:

  • 我在MVC5 asp上使用dd/MMM/YYYY格式的日期时遇到问题。net项目。主要是在Chrome上,因为它似乎只接受yyyy/mm/dd格式的日期。 为了规范跨浏览器的行为,我使用了jQuery datetimepicker组件。 我尝试了很多方法,但Chrome仍然表示日期无效。即使在将输入定义为文本而不是日期之后。 此外,即使我关闭了特定组件的验证(data val=“false”),C

  • 我有一个pandas数据框,其中一列包含如下字符串 我想把它转换成以下格式。 我试着用熊猫。到_datetime(df['date time']),但我得到了错误未知字符串值。我还尝试将字符串拆分为两列,只转换日期部分,但遇到了类似的错误

  • 问题内容: 我想将日期yyyy-mm-dd(以日期格式存储)转换为mmm-yy格式。 网站上的先前问题中没有完全匹配的内容。 我尝试了子字符串和转换函数,当时正在考虑创建一个标量函数,但是这花了我一段时间,希望有人能提供一个简单的解决方案。 问题答案: 您可以使用字符串操作构造格式: 或使用:

  • 问题内容: 我正在尝试从转换日期。我已经使用了mktime()函数和其他函数,但是我似乎无法使其工作。我已经成功地将原始日期用作定界符,但更改格式并将其与交换时没有成功。 任何帮助将不胜感激。 问题答案: 通过查看各个组成部分之间的分隔符,可以消除或格式中的日期的歧义:如果该分隔符是斜杠(),则假定为American ;否则,为0。反之,如果分隔符是破折号()或点(),则采用欧洲格式。 使用默认的

  • 我有一个格式为。我希望它的格式为 下面是我尝试进行此转换的示例util: 但是,我得到的输出不是格式。 请告诉我如何将从格式化为