我注意到JavaScript的new Date()功能在接受多种格式的日期时非常聪明.
Xmas95 = new Date("25 Dec, 1995 23:15:00")
Xmas95 = new Date("2009 06 12,12:52:39")
Xmas95 = new Date("20 09 2006,12:52:39")
Run Code Online (Sandbox Code Playgroud)
在调用new Date()函数时,我无法在任何地方找到显示所有有效字符串格式的文档.
这用于将字符串转换为日期.如果我们看一下相反的方面,即将日期对象转换为字符串,直到现在我的印象是JavaScript没有内置的API来将日期对象格式化为字符串.
编者注:以下方法是提问者的企图,关于特定浏览器的工作,但也不会在一般的工作; 请参阅此页面上的答案以查看一些实际解决方案.
今天,我在toString()日期对象上使用了该方法,并且令人惊讶的是它用于将日期格式化为字符串.
var d1 = new Date();
d1.toString('yyyy-MM-dd'); //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome
d1.toString('dddd, MMMM ,yyyy') //Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome
Run Code Online (Sandbox Code Playgroud)
在这里,我找不到任何关于我们可以将日期对象格式化为字符串的方法的文档.
列出Date()对象支持的格式说明符的文档在哪里?
我如何转换以下日期格式(Mon Nov 19 13:29:40 2012)
成:
日/月/年
<html>
<head>
<script type="text/javascript">
function test(){
var d = Date()
alert(d)
}
</script>
</head>
<body>
<input onclick="test()" type="button" value="test" name="test">
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我在这里看到了一个潜在的答案,但那是YYYY-MM-DD:JavaScript日期验证
我为MM-DD-YYYY修改了上面的代码,但我还是无法让它工作:
String.prototype.isValidDate = function()
{
var IsoDateRe = new RegExp("^([0-9]{2})-([0-9]{2})-([0-9]{4})$");
var matches = IsoDateRe.exec(this);
if (!matches) return false;
var composedDate = new Date(matches[3], (matches[1] - 1), matches[2]);
return ((composedDate.getMonth() == (matches[1] - 1)) &&
(composedDate.getDate() == matches[2]) &&
(composedDate.getFullYear() == matches[3]));
}
Run Code Online (Sandbox Code Playgroud)
如何让上述代码适用于MM-DD-YYYY,更好的是MM/DD/YYYY?
谢谢.
我收到一个错误:
Statdate.getFullyear() is not a function.
Run Code Online (Sandbox Code Playgroud)
从这个JavaScript代码:
var start = new Date();
start = document.getElementById('Stardate').value ;
var y = start.getFullYear();
Run Code Online (Sandbox Code Playgroud)
知道为什么这个功能不可用吗?
我正在使用jquery DataTable插件,在我的一个表中,我想根据日期时间列对结果进行排序.所以,我包括moment.js版本2.13.0和我的dataTable版本是1.10.10,我的jQuery版本是1.9.1.
正如最新的dataTable日期时间排序插件文章https://datatables.net/blog/2014-12-18所示,我尝试了以下但是在控制台中我有
TypeError: $.fn.dataTable.moment is not a function
$.fn.dataTable.moment('DD-MMM-Y HH:mm:ss');
Run Code Online (Sandbox Code Playgroud)
在我的html页面中,
$(document).ready(function() {
$.fn.dataTable.moment('DD-MMM-Y HH:mm:ss');
$('#myTable').DataTable();
} );
Run Code Online (Sandbox Code Playgroud)
我的日期列数据具有此格式的日期09-May-2016 19:38:00.我已经改变了dataTable和moment.js插件源包含在我的html页面中的顺序.但我仍然得到同样的错误.可能是什么问题?
我是角色的新手,并希望在组件ngOnInit方法中格式化日期.我已经看到一些示例,其中管道运算符用于格式化数据,但我不知道如何格式化组件文件中的日期.
下面是代码
export class DashboardComponent implements OnInit {
formatdate = 'dd/MM/yyyy';
constructor(private auth: AuthService) { }
ngOnInit() {
console.log(new Date().toISOString())
}
}
Run Code Online (Sandbox Code Playgroud) 我的日期看起来像这样
2015-10-14T17:54:19.033
Run Code Online (Sandbox Code Playgroud)
业务分析师似乎希望它看起来像这样:
mm/dd/yy
e.g.
10/14/2015
Run Code Online (Sandbox Code Playgroud)为什么会有"T"?还有额外的时间吗?
javascript ×5
date ×3
jquery ×2
angular ×1
angular-cli ×1
datatable ×1
date-format ×1
datetime ×1
momentjs ×1
time-format ×1
validation ×1