问题标签 [strtotime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 使用 strtotime 获得一个月内的第一个工作日
我正在尝试使用 找出给定月份的第一个星期三strtotime
,但是只要第一个星期三恰好落在 1 日,“第一个星期三”参数就会失败。
有关此问题的更一般说明,请参见以下代码和结果:
结果是:
注意到什么了吗?一周中的某一天不应该与每月的第一天重合吗?但它永远不会这样做,而是总是返回当天的第二个实例,即 8 号。
有人对此有解释吗?
date - php strtotime 转换错误的日期
我想知道为什么以秒为单位将日期转换为时间,然后再转换回来,结果是错误的???
php - PHP strtotime 没有闰年
关于这个线程,我开发了一个部分解决方案:
该函数应该在不检查闰年的情况下获取给定字符串的秒数。
它会计算 1970 年的闰年 [(year-1986)/4] 的数量,将其乘以闰年和正常年份之间的秒数差(最后,它只是一天)。
最后,我只是从计算的时间中删除了所有多余的闰年秒数。以下是输入/输出的一些示例:
你可能会问我为什么要对输出做除法?这是为了测试它;31536000 是一年中的秒数,因此 19.99... 应该是 20 而 0.99... 应该是 1。当然,我可以将其全部舍入并得到“正确”的答案,但我担心不准确。
编辑1:因为它看起来并不明显,所以我的问题在于陈旧;你只是不问 PHP 20 年,它给你 19.99...,对吗?
Edit2:这一切似乎都归结为 1968 年的部分;
php - 如何 strtotime 时间戳,或者如何最好地处理 SQL 日期?
date()
在我的 PHP 应用程序中,当我使用 PHP 的命令对其进行格式化时,我从 MySQL 数据库中获取日期。我想整理一下并将其完全移动到视图中,而不是检索。但是我遇到了一些问题。
从数据库中获取日期时,我会在运行后将其传递给应用程序的其余部分strtotime()
,以便date()
函数具有可以使用的东西。这是一个好主意吗?还是我错过了更好更明显的东西?我正在处理的日期几乎都在DATE
类型中,而不是DATETIME
.
所以,我得到了日期,可以用来date()
在网页上显示它。但有时,我会从数据库中获取一些东西,只是为了插入到数据库的其他地方,并且不得不在后端寻找需要date()
的地方,这违背了将其分离到视图中的目的。我的检索功能有用地返回strtotime($date_from_db)
,然后我在另一个表中创建新条目......所有新条目都必须通过验证和准备功能。这就是问题所在。我通过查看日期是否strtotime()
为 0000-00-00 以外的内容来验证和准备日期。但我不能strtotime()
在时间戳上运行;在我跑的测试中,如果给了我 1969 年 12 月 31 日。所以我的问题:
- 是否有可能以某种方式
strtotime()
在时间戳上运行? - 如果不是,是否有一种简单的方法可以知道变量是否是时间戳?所以我可以简单地运行
date()
它而不是处理strtotime()
? 除了看看它是否出现在 1969 年 12 月 31 日,因为我不知道我是否可以相信失败是一致的。除非那是一件有效的事情吗? - 我这样做完全错了吗?
php - 使用日期和 StrToTime
我一直在使用以下代码,没有任何问题,直到它最终登陆 Windows 服务器并决定产生错误:
*(e_date 存储如下:“1293559200”,e_time 存储如下:“18:00”)*
错误是这样的:
据我了解,这是因为我在 date 函数中使用 strtotime。所以我想知道解决或重写这个问题的优雅方法是什么?
我应该将整个 strtotime 放入一个新变量中,即 $newdate 然后以该形式返回日期,还是以其他方式?
谢谢!
php - 如何使用 PHP date() 返回 7 天前的上一个星期日?
这是我到目前为止所拥有的:
输出 $start 时返回:1969-12-31 06:00:00
我究竟做错了什么?
php - strtotime 和日期验证(01/20/2011 与 01/2011)
应该只允许这两种格式!
PHP:
验证:
如果 = 2011 年 1 月 20 日
- 第一部分应仅包含数字 01-12
- 第二部分应仅包含数字 01-31
- 第三部分应由 4 个数字组成
如果 = 01/2011
- 第一部分应仅包含数字 01-12
- 第二部分应由 4 个数字组成
php - strtotime 将整数转换为时间戳
对于我正在处理的程序,我正在循环数据,我需要知道某条数据是否是日期。
为简单起见,我创建了一个名为 的函数is_date
,它看起来像这样:
这似乎有效,但由于某种原因,它返回TRUE
整数(不是日期)。
例如:
为什么is_date(165000)
返回 TRUE?如何strtotime
将 165000 转换为时间戳?
作为修复,我将is_date
函数更改为:
php - 使用序数值时 php strtotime 函数出现问题
在 strtotime 中使用序数值时,我有时会得到意想不到的结果。例如,为什么
结果是“Feb 15”(实际上是 2011 年的第三个星期二?
php - php strtotime“四舍五入”月底
知道为什么 strtotime 有时会从月底到下个月吗?
结果:
日期为字符串:2011-1-31 00:00:00
日期为 UnixTime:1296450000
UnixTime 返回字符串:2011-01-31 00:00:00
字符串返回 UnixTime:1296450000
日期为字符串:2011-2- 31 00:00:00
日期为 UnixTime:1299128400
UnixTime 返回字符串:2011-03-03 00:00:00
字符串返回 UnixTime:1299128400
日期为字符串:2011-3-31 00:00:00
日期为 UnixTime: 1301544000
UnixTime 返回字符串:2011-03-31 00:00:00
字符串返回 UnixTime:1301544000
日期作为字符串:2011-4-31 00:00:00
日期作为 UnixTime:1304222400
UnixTime 返回字符串:2011-05- 01 00:00:00
字符串返回 UnixTime:1304222400
作为字符串的日期:2011-5-31 00:00:00
日期作为 UnixTime:1306814400
UnixTime 返回字符串:2011-05-31 00:00:00
字符串返回 UnixTime:1306814400
日期作为字符串:2011-6-31 00:00:00
日期作为 UnixTime:1309492800
UnixTime 返回字符串: 2011-07-01 00:00:00
字符串返回 UnixTime:1309492800
日期作为字符串:2011-7-31 00:00:00
日期作为 UnixTime:1312084800
UnixTime 返回字符串:2011-07-31 00:00:00
字符串返回 UnixTime:1312084800
日期作为字符串:2011-8-31 00:00:00
日期作为 UnixTime:1314763200
UnixTime 返回字符串:2011-08-31 00:00:00
字符串返回 UnixTime:1314763200
日期作为字符串: 2011-9-31 00:00:00
日期为 UnixTime:1317441600
UnixTime 返回字符串:2011-10-01 00:00:00
字符串返回 UnixTime:1317441600
日期作为字符串:2011-10-31 00:00:00
日期作为 UnixTime:1320033600
UnixTime 返回字符串:2011-10-31 00:00:00
字符串返回 UnixTime:1320033600
日期作为字符串:2011-11-31 00:00:00
日期作为 UnixTime:1322715600
UnixTime 返回字符串:2011-12-01 00:00:00
字符串返回 UnixTime: 1322715600