要将"2023-04-06T01:44:43.000Z"这个字符串转换为年月日时分秒的格式,你可以使用PHP的DateTime类和format方法。以下是示例:
$date_str
=
'2023-04-06T01:44:43.000Z'
;
$date
=
new
DateTime
(
$date_str
)
;
$date
->
setTimezone
(
new
DateTimeZone
(
'Asia/Shanghai'
)
)
;
$formatted_date
=
$date
->
format
(
'Y-m-d H:i:s'
)
;
echo
$formatted_date
;
$date_str
=
'2023-04-06T01:44:43.000Z'
;
$formatted_date
=
date
(
'Y-m-d H:i:s'
,
strtotime
(
$date_str
)
)
;
echo
$formatted_date
;
以上将输出:
2023-04-06 09:44:43
。
要将 “2023-04-06 01:44:43” 转换为 ISO 8601 时间格式,您可以使用 PHP 的 DateTime 类和 format 方法。以下是一个示例
$date_str
=
'2023-04-06 01:44:43'
;
$date
=
new
DateTime
(
$date_str
,
new
DateTimeZone
(
'Asia/Shanghai'
)
)
;
$iso8601_date
=
$date
->
format
(
DateTime
::
ATOM
)
;
echo
$iso8601_date
;
这段代码将输出:
2023-04-06T01:44:43+08:00
。请注意,这里使用的是
DateTime::ATOM
常量,它代表了与
ISO 8601
兼容的日期时间格式。输出中的
+00:00
表示时间偏移量,即与 UTC 时间相差的时区偏移。在这个例子中,我们假定输入的时间是 UTC 时间。如果您需要转换为其他时区,请在创建 DateTime 对象时指定相应的时区。
可以使用 PHP 的
DateTime
类和
format
方法。以下是一个示例:
$date_str
=
'2023-04-06 01:44:43'
;
$date
=
new
DateTime
(
$date_str
,
new
DateTimeZone
(
'UTC'
)
)
;
$date
->
setTimezone
(
new
DateTimeZone
(
'Asia/Shanghai'
)
)
;
$iso8601_date
=
$date
->
format
(
DateTime
::
ATOM
)
;
echo
$iso8601_date
;
$iso8601_date
=
substr
(
$date
->
format
(
'Y-m-d\TH:i:s.u\Z'
)
,
0
,
-
3
)
.
'Z'
;
echo
$iso8601_date
;
这里我们首先使用 UTC 时区解析输入的时间字符串,然后使用
setTimezone
方法将时区更改为东八区(UTC+8,例如上海)。最后,我们将日期时间对象格式化为日期时间格式。
https://www.php.net/manual/en/class.datetime.php
Wed, 23 Oct 2019 21:12:01 +0800
Wed, 23 Oct 2019 06:08:37 +0000 (GMT)
Fri, 11 Oct 2019 12:42:07 +0800 (CST)
Wed, 23 Oct 2019 06:08:37 +0000 (
UTC
)
几种不同的
日期
格式化方式,不同的时区
时间
转换
成北京
时间
,也就是
东八区
的
时间
,注意的是后面的时区表示方式,
def getTimeStamp(self, date):
result = re.search(r"[\-\+]\d+", date)
if result:
但我们会发现传给我们的
时间
和北京
时间
差8个小时,这就需要我们自己进行处理
const dt = new Date()
// Date.pares() 返回1970年1月1日午夜到指定
日期
(字符串)的毫秒数
// 将获得的毫秒数加8个小时的毫秒数
const ts = Date.pa...
ISO
时间
转化
时间
戳
我们在实际的
开发
中
获取的
时间格式
是
ISO
格式
时间
(2018-07-22T16:00:00.000Z)时,比标准的
时间
少了8个小时。
以下方法转化为
时间
戳,更加有利于利于展示
时间
,一级排序
filters: {
timeFilter(ms) {
// 2020-06-01T04:24:43.230Z 获取到的
时间格式
// 把
时间
的中的T和Z 替换成空字符串
//传入一个北京
时间
(字符串), 返回
ISO
-
8601
时间
(字符串)格式出去.
public static String get
ISO
Time(String strTime) {
try {
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").par...
String pattern = "YYYY-MM-dd'T'HH:mm:ss.SSSZZ";
String timeStr=DateFormatUtils.format(new Date(), pattern);
System.out.println(timeStr);
输出:2021-12-13T16:27:25.818+08:00
============
org.apache.commons.lang3.time
=============
转回来的时候使用:
DateT.
java中
ISO
8601
标准
时间格式
的
转换
最近对接第三方平台接口,返回的
日期
是
ISO
8601
标准
时间
(yyyy-MM-dd’T’HH:mm:ss.SSS’Z’),例:
"beginTime": "2018-08-07T14:44:04.923+08:00",
"endTime": "2018-08-07T14:54:18.183+08:00"
我这边需要用String格式(yyyy-MM-dd HH:mm:ss)来接收,试了很多方法,有些不能用,还有些不好用,最终选择的
转换
的方式如下:
先引入jar包:
private static String dealDateFormat(String oldDateStr) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); //yyyy-MM-dd'T'HH:mm:ss.SSSZ
Date date = df.parse(oldDateStr);
DateFormat df2 = new SimpleD
# 从字符串中解析
UTC
时间
utc
_time_str = '2021-09-20T05:30:00.000Z'
utc
_time = datetime.from
iso
format(
utc
_time_str[:-1])
# 将
UTC
时间
转换
为
东八区
时间
eastern_tz = pytz.timezone('Asia/Shanghai')
eastern_time =
utc
_time.astimezone(eastern_tz)
print(eastern_time)
输出结果:
2021-09-20 13:30:00+08:00
其中,`from
iso
format` 方法用于从
ISO
格式的字符串中解析
时间
,`astimezone` 方法用于将
时间
转换
为指定时区的
时间
。在上面的例子中,我们将
UTC
时间
转换
为了
东八区
的
时间
。