人类可读格式的时间戳

     2023-02-24     223

关键词:

【中文标题】人类可读格式的时间戳【英文标题】:Timestamp to human readable format 【发布时间】:2011-07-21 23:25:00 【问题描述】:

我在使用 javascript 从 unix 时间戳转换为人类表示时遇到了一个奇怪的问题

这是时间戳

1301090400

这是我的javascript

var date = new Date(timestamp * 1000);
var year    = date.getFullYear();
var month   = date.getMonth();
var day     = date.getDay();
var hour    = date.getHours();
var minute  = date.getMinutes();
var seconds = date.getSeconds();  

我预计结果是 2011 2, 25 22 00 00。但它是 2011, 2, 6, 0, 0, 0 我想念什么?

【问题讨论】:

这有帮助吗:***.com/questions/847185/… 我也是这样 我在 Firefox Firebug 控制台中尝试了这个并得到了预期的结果。您使用的是哪种浏览器/操作系统? 我创建了一个 jsfiddle,它似乎工作正常:jsfiddle.net/9SUqX(我在 Opera 上测试过) 这是我得到的img841.imageshack.us/i/screenshot20110324at113.png 【参考方案1】:

getDay() 返回星期几。要获取日期,请使用date.getDate()getMonth() 检索月份,但月份是从零开始的,因此使用 getMonth()+1 应该会给您正确的月份。这里的时间值似乎没问题,尽管这里的时间是 23 (GMT+1)。如果您想要通用值,请将UTC 添加到方法中(例如date.getUTCFullYear()date.getUTCHours()

var timestamp = 1301090400,
date = new Date(timestamp * 1000),
datevalues = [
   date.getFullYear(),
   date.getMonth()+1,
   date.getDate(),
   date.getHours(),
   date.getMinutes(),
   date.getSeconds(),
];
alert(datevalues); //=> [2011, 3, 25, 23, 0, 0]

【讨论】:

您对日期的建议帮助,但我仍然无法弄清楚小时、分钟和秒有什么问题 @george 你不会错过任何东西。这些值是整数,所以不能有像“00”这样的值。您可以自己轻松附加它,例如 minute = (minute < 10 ? "0" : "") + minute; @georgevich:你在哪个时区?如果你使用date.getUTCHours()会发生什么? GMT + 2 date.getUTCHours() 的结果是 19 GMT+2,所以 22h 通用时间 = 0h 你的时间。这是一个使用 UTC 值的 jsfiddle:jsfiddle.net/EZFG9.【参考方案2】:
var newDate = new Date();
newDate.setTime(unixtime*1000);
dateString = newDate.toUTCString();

unixtime 是您的 sql 数据库返回的时间。如果有帮助,这里是fiddle。

例如,用于当前时间:

document.write( new Date().toUTCString() );

【讨论】:

我找到了这个答案,并且在这里接受的答案 [ *.toString() ] 很有用:***.com/questions/13622142/… 这是一个要点:gist.github.com/victoriastuart/b9fb09b890ef88755538b24b0207fece "unixtime is undefined" 是我在这里得到的 反正在oneliner中可以轻松上交new Date(1480966325 * 1000).toUTCString()【参考方案3】:

这是 kooilnc 的答案,带 0 填充

function getFormattedDate() 
    var date = new Date();

    var month = date.getMonth() + 1;
    var day = date.getDate();
    var hour = date.getHours();
    var min = date.getMinutes();
    var sec = date.getSeconds();

    month = (month < 10 ? "0" : "") + month;
    day = (day < 10 ? "0" : "") + day;
    hour = (hour < 10 ? "0" : "") + hour;
    min = (min < 10 ? "0" : "") + min;
    sec = (sec < 10 ? "0" : "") + sec;

    var str = date.getFullYear() + "-" + month + "-" + day + "_" +  hour + ":" + min + ":" + sec;

    /*alert(str);*/

    return str;

【讨论】:

【参考方案4】:

使用Date.prototype.toLocaleTimeString() 记录的here

请注意网址中的语言环境示例 en-US。

【讨论】:

【参考方案5】:

小时、分钟和秒取决于您操作系统的时区。在 GMT (UST) 中是 22:00:00,但在不同的时区中可以是任何值。因此,将时区偏移量添加到时间以创建 GMT 日期:

var d = new Date();
date = new Date(timestamp*1000 + d.getTimezoneOffset() * 60000)

【讨论】:

为什么时间戳乘以 1000? @BrunoGomes 他假设时间戳以秒为单位,而 javascript 以毫秒为单位。【参考方案6】:

我正在寻找一种非常具体的解决方案,将当前时间作为保证长度字符串返回到每个日志行的开头。如果其他人正在寻找相同的东西,它们就在这里。

基本时间戳

"2021-05-26 06:46:33"

以下函数返回当前时间的零填充时间戳(总是 19 个字符长)

function getTimestamp () 
  const pad = (n,s=2) => (`$new Array(s).fill(0)$n`).slice(-s);
  const d = new Date();
  
  return `$pad(d.getFullYear(),4)-$pad(d.getMonth()+1)-$pad(d.getDate()) $pad(d.getHours()):$pad(d.getMinutes()):$pad(d.getSeconds())`;

完整时间戳

"2021-06-02 07:08:19.041"

以下函数返回当前时间的零填充时间戳,包括毫秒(总是 23 个字符长)

function getFullTimestamp () 
  const pad = (n,s=2) => (`$new Array(s).fill(0)$n`).slice(-s);
  const d = new Date();
  
  return `$pad(d.getFullYear(),4)-$pad(d.getMonth()+1)-$pad(d.getDate()) $pad(d.getHours()):$pad(d.getMinutes()):$pad(d.getSeconds()).$pad(d.getMilliseconds(),3)`;

【讨论】:

MySql 时间戳舍入然后以人类可读格式重新格式化

】MySql时间戳舍入然后以人类可读格式重新格式化【英文标题】:MySqltimestamproundingthenreformattinginhumanreadableformat【发布时间】:2015-12-2812:51:30【问题描述】:我有来自GroupOHLC-StockmarketDataintomultipletimeframes-Mysql的以下查询。SELECTFLOOR(... 查看详情

将 Epoch 时间戳转换为 sql server(人类可读格式)

】将Epoch时间戳转换为sqlserver(人类可读格式)【英文标题】:convertingEpochtimestamptosqlserver(humanreadableformat)【发布时间】:2011-01-2422:14:31【问题描述】:我在将Unix时间戳转换为sqlserver时间戳时遇到问题。我在Excel表中有一个数据... 查看详情

将人类可读的日期转换为纪元时间戳

】将人类可读的日期转换为纪元时间戳【英文标题】:ConvertHumanreadabledateintoanepochtimestamp【发布时间】:2012-11-1221:35:17【问题描述】:我正在处理一个C#项目,其中我有一个2012-11-2415:35:18格式的日期/时间,我需要将其转换为一个... 查看详情

javascript人类可读的毫秒时间戳(代码片段)

查看详情

Bash:以人类可读格式将 unix 时间四舍五入到最接近的分钟

】Bash:以人类可读格式将unix时间四舍五入到最接近的分钟【英文标题】:Bash:Roundingupunixtimetothenearestminuteinhumanreadableformat【发布时间】:2017-05-0617:40:33【问题描述】:我有一个纪元时间戳列表,如下所示:1481842799,1481842859,........ 查看详情

如何以毫秒为单位获取带有 unix 时间戳的人类可读日期? [复制]

】如何以毫秒为单位获取带有unix时间戳的人类可读日期?[复制]【英文标题】:Howtogethumanreadabledatewithunixtimestampinmilliseconds?[duplicate]【发布时间】:2014-10-1115:25:06【问题描述】:是否有不使用已弃用的Date类的解决方案,并且不必... 查看详情

以人类可读格式转换纪元时间

】以人类可读格式转换纪元时间【英文标题】:convertingepochtimeinhumanreadableformat【发布时间】:2019-12-0315:33:43【问题描述】:我想将纪元时间转换为人类可读的格式,当我给出随机纪元时间时,例如下面的一个epoch1=datetime.datetime.f... 查看详情

SQL Server 中可读格式的时间戳

】SQLServer中可读格式的时间戳【英文标题】:TimestampinSQLServerinreadableformat【发布时间】:2020-09-0506:21:14【问题描述】:我在SQLServer数据库中创建了一个记录时间戳的列。但是时间戳是这样的0x000000000000177F。有没有办法将此时间戳... 查看详情

如何使用 Laravel 5 获得人类可读格式的时间差异?

】如何使用Laravel5获得人类可读格式的时间差异?【英文标题】:HowdoIgetthedifferenceoftimeinhumanreadableformatwithLaravel5?【发布时间】:2015-09-0814:46:07【问题描述】:我想显示当前日期和时间与updated_at列中存储的日期和时间之间的差异... 查看详情

如何从 Beacon 数据包中获取人类可读的日期/时间格式

】如何从Beacon数据包中获取人类可读的日期/时间格式【英文标题】:Howtogetahuman-readabledate/timeformatfromBeaconpackets【发布时间】:2018-02-1206:01:11【问题描述】:我想从IEEE802.11[a,b,g,n]无线数据包中获取人类可读的日期/时间格式。我... 查看详情

从 postgresql DB 表的 EPOCH 列中提取时间戳

...ostgreSQL查询,其中checkin_ts采用epoch格式,并希望编写一个人类可以理解的查询(以人类可读的格式放置时间戳)。select*fromuserswheret 查看详情

了解时间戳 - 1505143211567 (Oracle DB)

...05143211567”。通过删除最后3个数字,我可以转换为正常的人类可读格式。数据库从Oracle运行。我想将此时间戳转换为人类可读的。我尝试了类似下面的东西。我可以从sql中删除最后3个 查看详情

如何以人类可读的格式输出(到日志)多级数组?

】如何以人类可读的格式输出(到日志)多级数组?【英文标题】:Howtooutput(toalog)amulti-levelarrayinaformatthatishuman-readable?【发布时间】:2012-08-0618:22:32【问题描述】:我正在开发一个drupal站点,在调试时,我总是需要通读长的嵌套... 查看详情

将日期从人类可读格式转换为纪元失败

】将日期从人类可读格式转换为纪元失败【英文标题】:Conversionofdatefromhuman-readableformattoepochfails【发布时间】:2021-11-1104:36:55【问题描述】:我想创建一个程序,将特定人类可读格式的日期转换为纪元。到目前为止,我有以下... 查看详情

如何以人类可读的格式显示 BigDecimal 值?

】如何以人类可读的格式显示BigDecimal值?【英文标题】:HowtodisplayBigDecimalvalueinahumanreadableformat?【发布时间】:2014-02-2404:59:17【问题描述】:假设我们有一个像这样设置的BigDecimal变量,我们不能改变它的创建方式:BigDecimalnum=new... 查看详情

格式化日期对象以显示人类可读的日期

】格式化日期对象以显示人类可读的日期【英文标题】:Formattingadateobjecttodisplayahumanreadabledate【发布时间】:2012-08-0322:46:20【问题描述】:这是我想要展示的内容:May13,2012下面是显示的内容:2012-05-13我搜索了一些答案,然后找... 查看详情

如何以人类可读的方式格式化 CouchDB 设计文档?

】如何以人类可读的方式格式化CouchDB设计文档?【英文标题】:HowdoIformatCouchDBdesigndocumentsinahumanreadableway?【发布时间】:2013-09-0216:57:20【问题描述】:由于views是用JSON在CouchDB中定义的,我很难以人类可读的方式定义它们。收下... 查看详情

以人类可读的格式显示容器弃用日志?

】以人类可读的格式显示容器弃用日志?【英文标题】:Showcontainerdeprecationloginhuman-readableformat?【发布时间】:2022-01-1217:15:27【问题描述】:我有一个Symfony5.3应用程序。容器编译完成后,出现如下文件:var/cache/dev/App_KernelDevDebugC... 查看详情