Unity 基础 之 把时间日期的字符串再次转为格式化指定时间日期格式(Format:yyyy-MM-ddTHH:mm:ss.SSSZ)

Unity 基础 之 把时间日期的字符串再次转为格式化指定时间日期格式(Format:yyyy-MM-ddTHH:mm:ss.SSSZ)

目录

Unity 基础 之 把时间日期的字符串再次转为格式化指定时间日期格式(Format:yyyy-MM-ddTHH:mm:ss.SSSZ)

一、简单介绍

二、实现原理

三、注意事项

四、效果预览

五、实现步骤

六、关键代码

附录:时间格式简单说明 yyyy-MM-dd‘T‘HH:mm:ss.SSSZ


一、简单介绍

Unity中的一些知识点整理。

本节简单介绍在Unity开发中的,可能获取json 获取到时间日期字符串,不符合使用,需要重新格式化转为指定的日期时间,这里使用System.DateTime.Parse 进行解析成时间 DateTime,再格式化转为目标格式,如果你有新的方式也可以留言,多谢。

二、实现原理

1、System.DateTime.Parse 进行解析成时间 DateTime

2、在通过 dateTime.ToString(newDataTimeFormat) 格式化成新的格式

三、注意事项

1、注意你的时间字符串时区

四、效果预览

五、实现步骤

1、打开 Unity,新建工程

2、编写脚本,把时间日期字符串,再次转为指定格式化时间

3、把脚本,挂在到场景中

4、运行场景,效果如下

六、关键代码


using UnityEngine;

namespace XAN.TestSpace { 

	public class Test : MonoBehaviour
	{
		// Start is called before the first frame update
		void Start()
		{
            Debug.Log("Now :" +System.DateTime.Now.ToString("yyyy年MM月dd日 HH:mm"));
			TestTimeStringToFromat();
		}


		void TestTimeStringToFromat() {
			Debug.Log("old: 2018-12-16 ");
			Debug.Log(TimeStringToFromat("2018-12-16", "yyyy年MM月dd日"));
			Debug.Log("old: 2021-09-14T12:05:07.092Z ");
			Debug.Log(TimeStringToFromat("2021-09-14T12:05:07.092Z", "yyyy年MM月dd日 HH:mm"));
			Debug.Log("old: 2021-09-14 12:05:07.092 ");
			Debug.Log(TimeStringToFromat("2021-09-14 12:05:07.092", "yyyy年MM月dd日 hh:mm"));
		}

		string TimeStringToFromat(string dateTimeString, string newDataTimeFormat) {
			System.DateTime dateTime = System.DateTime.Parse(dateTimeString);
			return dateTime.ToString(newDataTimeFormat);
		}
	}
}

附录:时间格式简单说明 yyyy-MM-dd‘T‘HH:mm:ss.SSSZ

yyyy-MM-dd'T'HH:mm:ss.SSSZ 时间格式

下面来着重认识一下:

Date Time String Format

ECMAScript defines a string interchange format for date-times based upon a simplification of the ISO 8601 Extended Format. The format is as follows: YYYY-MM-DDTHH:mm:ss.sssZ

Where the fields are as follows:

上面这个时间格式就是带T和Z这种是ISODATE .

Z是表示0时区:

对我们国家来说, 采用北京时间, 处于东八区.UTC+8 , 所以,
带Z的时间格式, 转换成北京时间需要加上 8 个小时.

例如:
Updated Date:2017-10-20T02:59:25Z  转换成北京时间: UTC+8 就是 2017-10-20 10:59:25

Creation Date:2015-08-03T07:21:33Z 转换成北京时间: UTC+8 就是 2015-08-03 15:21:33


参考网址: http://www.ecma-international.org/ecma-262/6.0/#sec-date-time-string-format 

猜你喜欢

转载自blog.csdn.net/u014361280/article/details/120308628