如何在Angular2\Typescript中将字符串转换为日期?

coo*_*kya 45 typescript angular

我想创建一个具有特定日期的新Date对象.我想过将它从特定的字符串转换,例如:

let dateString = '1968-11-16T00:00:00'
Run Code Online (Sandbox Code Playgroud)

如何将它转换为打字稿中的日期对象?

更新:

我要求在Typescript中使用解决方案,而不是在Javascript中,在Angular2中,而不是AngularJS(1.x)

San*_*per 150

您可以使用日期过滤器转换日期并以特定格式显示.

在.ts文件(typescript)中:

let dateString = '1968-11-16T00:00:00' 
let newDate = new Date(dateString);
Run Code Online (Sandbox Code Playgroud)

在HTML中:

{{dateString |  date:'MM/dd/yyyy'}}
Run Code Online (Sandbox Code Playgroud)

以下是您可以实现的一些格式:

后端:

public todayDate = new Date(Date.parse(Date()));
Run Code Online (Sandbox Code Playgroud)

HTML:

<select>
<option value=""></option>
<option value="MM/dd/yyyy">[{{todayDate | date:'MM/dd/yyyy'}}]</option>
<option value="EEEE, MMMM d, yyyy">[{{todayDate | date:'EEEE, MMMM d, yyyy'}}]</option>
<option value="EEEE, MMMM d, yyyy h:mm a">[{{todayDate | date:'EEEE, MMMM d, yyyy h:mm a'}}]</option>
<option value="EEEE, MMMM d, yyyy h:mm:ss a">[{{todayDate | date:'EEEE, MMMM d, yyyy h:mm:ss a'}}]</option>
<option value="MM/dd/yyyy h:mm a">[{{todayDate | date:'MM/dd/yyyy h:mm a'}}]</option>
<option value="MM/dd/yyyy h:mm:ss a">[{{todayDate | date:'MM/dd/yyyy h:mm:ss a'}}]</option>
<option value="MMMM d">[{{todayDate | date:'MMMM d'}}]</option>   
<option value="yyyy-MM-ddTHH:mm:ss">[{{todayDate | date:'yyyy-MM-ddTHH:mm:ss'}}]</option>
<option value="h:mm a">[{{todayDate | date:'h:mm a'}}]</option>
<option value="h:mm:ss a">[{{todayDate | date:'h:mm:ss a'}}]</option>      
<option value="EEEE, MMMM d, yyyy hh:mm:ss a">[{{todayDate | date:'EEEE, MMMM d, yyyy hh:mm:ss a'}}]</option>
<option value="MMMM yyyy">[{{todayDate | date:'MMMM yyyy'}}]</option> 
</select>
Run Code Online (Sandbox Code Playgroud)

  • @sandip-full-stack-developer,我很好奇你为什么使用 `todayDate = new Date(Date.parse(Date()))` 而不是 `todayDate = new Date()`。两者都会返回不同的结果? (5认同)