32

如何从日期时间格式中提取时间。

我的日期时间格式如下。

var datetime =2000-01-01 01:00:00 UTC;

我只想得到01.00时间01

4

9 回答 9

56

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString

Date.prototype.toLocaleTimeString() 根据系统设置返回一个字符串,该字符串具有该日期时间部分的位置敏感表示。

var time = datetime.toLocaleTimeString();

更新:

新的语言环境和选项参数让应用程序指定应该使用其格式约定的语言并自定义函数的行为。在忽略语言环境和选项参数的旧实现中,使用的语言环境和返回的字符串形式完全取决于实现。

// Depending on timezone, your results will vary
var event = new Date('August 19, 1975 23:15:30 GMT+00:00');

console.log(event.toLocaleTimeString('en-US'));
// expected output: 1:15:30 AM

console.log(event.toLocaleTimeString('it-IT'));
// expected output: 01:15:30
于 2015-03-05T16:05:55.083 回答
19

这些方法怎么样

新日期().getHours()

新日期().getMinutes()

例如:

 var d = new Date();
 var n = d.getHours();

已编辑

根据世界时返回小时:

新日期().getUTCHours()

例子:

var d = new Date();
var n = d.getUTCHours(); 
于 2013-03-21T11:36:41.643 回答
8

作为替代方案,如果您想从字符串中获取时间 -

var datetime ="2000-01-01 01:00:00 UTC";
var myTime = datetime.substr(11, 2);
alert(myTime) //01
于 2013-03-21T11:40:23.503 回答
6

with the moment.js library it works in this way:

var result = moment().format('hh');
alert(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

于 2017-02-11T17:28:36.170 回答
3
var datetime = ("2000-01-01 01:00:00 UTC");
var d1 = new Date(datetime);
var minute = d1.getUTCMinutes();
var hour = d1.getUTCHours();
if(minute > 0)  
     alert(hour+"."+minute);
else
     alert(hour);

演示

于 2013-03-21T11:41:53.280 回答
3
var date1 = new Date(1945,10,20, 17,30)
var date2 = new Date(1970,1,8, 12,00)

console.log(date1.getHours() - 8 + (date1.getMinutes()/60))

console.log(date2.getHours() - 8 + (date2.getMinutes()/60))
于 2016-06-02T18:20:20.910 回答
2

使用以下代码:

var datetime = "2000-01-01 01:00:00 UTC";

var dt = new Date(datetime);
var hr = dt.getUTCHours();
if(hr > 12) {
   hr -= 12;
}
alert(hr);

也参考这个链接。

于 2013-03-21T11:34:31.953 回答
1

假设你有一个Date

var datetime = new Date("2000-01-01 01:00:00 UTC"); // might not parse correctly in every engine
// or
var datetime = new Date(Date.UTC(2000, 0, 1, 1, 0, 0));

然后使用getUTCHours方法

datetime.getUTCHours(); // 1
于 2013-03-21T11:40:54.420 回答
1

我已经做了!它看起来像这样:

console.log(new Date().toLocaleTimeString() + " " + new Date().getSeconds() + " seconds");
于 2021-09-26T14:27:48.370 回答