5 个关于 API 中日期和时间设计规则

规则 #1 使用ISO-8601格式作为你的日期格式

ISO 8601 解决了很多问题,包括:

  • 自然排序 - 简单和优雅,免去多余的工作即可实现排序
  • 时区偏移 - 代表用户的地点和时区在日益增长的全球化和移动世界中越来越重要。
  • 地区中立性 - 想象一下噩梦一般的日期 2/3/4。这个日期随着你所处美国,欧洲或者其他地方而有不同的含义...这个日期在美国代表Feb 3, 2004,或者在其他地方代表Mar 2, 2004。在ISO 8601条款中,2004-02-03去掉了这些含糊的可能性。
  • 在不同的编程语言中都得到广泛的支持 - 即使不是所有的语言都使用这个标准作为默认值(例如Java),但是它们基本都有成熟的库来转化 ISO 8601格式。

规则#2: 接受任何的时区

规则#3:用UTC(Coordinated Universal Time 世界同一时间)格式存储

规则#4 使用UTC格式作为返回值格式

规则#5 如果你不需要时间的话,不要使用它

5 个关于 API 中日期和时间设计规则-云栖社区-阿里云

原文地址:https://www.cnblogs.com/doit8791/p/10399007.html

时间: 2024-10-28 11:01:03

5 个关于 API 中日期和时间设计规则的相关文章

PHP中日期和时间函数简介

PHP中日期和时间相关函数简介 一.UNIX时间戳 在当前大多数的UNIX系统中,保存当前日期和时间的方法是:保存格林尼治标准时间从1970年1月1日零点起到当前时刻的秒数,以32为整列表示.1970年1月1日零点也称为UNIX纪元.在Windows系统下也可以使用UNIX时间戳,简称时间戳,但如果时间在1970年以前或2038年以后,处理的时候可能会出现问题. PHP在处理有些数据,特别是对数据库中时间类型的数据进行格式化时,经常需要先将时间类型的数据转化为UNIX时间戳再进行处理,另外,不同

JDK中日期和时间的几个常用类浅析(五)

LocalDateTime   LocalDateTime是JDK8中才引入的类,用来表示不包含时区信息的本地日期和时间.我们可以把LocalDateTime看作是LocalDate和LocalTime的一个组合类.同样地,该类是一个不可变类,所以作用于该类对象上的方法都是返回一个该类的新对象.  通常,我们使用该类的静态工厂方法来创建该类对象.两种创建该类对象的示例代码如下:LocalDateTime ldt1 = LocalDateTime.now();LocalDateTime ldt2

Windows Phone 8.1中日期和时间选择器DatePicker,TimePicker

开篇之前,推荐王磊老师的Windows 8.1中关于DatePicker和TimePicker的讲解 链接:重新想象 Windows 8.1 Store Apps (73) - 新增控件: DatePicker, TimePicker 首先Windows Phone 8.1的这两个选择器的使用和在Windows 8.1中的使用差不多. 1.前台DatePicker和TimePicker标签的使用没什么太大的问题,其中Header属性其实就是给选择器起个名字而已 DateChanged和TimeC

MySQL中日期和时间类型

1 日期类型 MySql中关于日期的类型有Date/Datetime/Timestamp三种类型. 日期赋值时,允许"不严格"语法:任何标点符都可以用做日期部分或时间部分之间的间割符.例如,'98-12-31 11:30:45'.'98.12.31 11+30+45'.'98/12/31 11*30*45'和'[email protected]@31 11^30^45'是等价的,对于不合法的将会转换为:0000-00-00 00:00:00 1.1 Date格式 此类型的字段,存储数据

JAVA中日期和时间的格式化选项

一.使用printf方法 1 import java.util.Date; 2 import java.util.Scanner; 3 4 5 public class Test { 6 7 public static void main(String[] args) { 8 9 System.out.printf("%tc"+"\n",new Date());//完整格式 10 System.out.printf("%tF"+"\n&

[转].NET 中日期和时间的格式化处理

http://www.0431cn.com/ygtd_wz_nr_2077.html 一.日期和时间的格式化处理: 1.绑定时格式化日期方法:  <asp:BoundColumn datafield="time" dataformatstring="{0:yyyy-MM-dd}"> </asp:BoundColumn> 2.数据控件如DataGrid/DataList等的件格式化日期方法:  e.Item.Cell[0].Text = Con

C#中日期和时间相加的方法

可能对于初入此行业人来说有些困惑,实现起来有一丝复杂. 比如说时间是:2016-08-05 14:46:30,中间过了56秒钟.要求得出56秒之后的时间格式是:年月日时分秒 下面介绍最简单的办法, model.calldate = msg.data[0].calldate;//起始接通时间 model.billsec_int = msg.data[0].billsec_int;//通话时长 var a = DateTime.Parse(model.calldate).AddSeconds(Con

mysql更新表中日期字段时间

DATE_ADD和DATE_SUB函数可以用INTERVAL关键字标识的时间间隔进行加减操作,类似于PHP中的strtotime函数. 1.更新表中有效期valid_time字段值都增加一天 UPDATE cqh_activity SET valid_time=DATE_ADD(valid_time,INTERVAL 1 DAY); 2.更新表中有效期valid_time字段值都减少一天 UPDATE cqh_activity SET valid_time=DATE_SUB(valid_time

关于web api 中 日期格式问题解决方案

在构造函数或者 全局开始的时候调用这个 public BossApiController() { JsonMediaTypeFormatter jsonFormatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter; JsonSerializerSettings jSettings = new Newtonsoft.Json.JsonSerializerSettings() { Formatting = Formatt