LINUX.ORG.RU

Скорее, T - это от слова time, а Z - действительно указание на нулевой меридиан.

vladimir_putin
()

Это JSON Date Format

Забей в консоль браузера

var date = new Date('2015-10-28T07:20:16.644Z')

и теперь можешь вызывать
date.getTime() //-- выведет указанное время в миллисекундах
date.getUTCMonth() //-- выведет указанный в дате месяц в формате UTC

А вообще http://www.w3schools.com/jsref/jsref_obj_date.asp

Ах да, самое то главное - сделай в консоли new Date().toJSON() получишь текущие время и дату в аналогичном формате

uin ★★★
()
Последнее исправление: uin (всего исправлений: 3)
Ответ на: комментарий от Deleted

прочитал стандарт,
далеко не местное Т

Deleted
()
Ответ на: комментарий от drull

json знает все типы javascript, так как он представляет собой ничто иное как передаваемые объекты javascript в чистом виде. А типы javascript это внезапно string number и object, так как как-то так вышло что array это тоже object (хотя на самом деле для людей понимающих как работает JS ничего необычного)

uin ★★★
()
Ответ на: комментарий от uin

1. Json уже давно перестал быть чисто яваскриптовым форматом.
2. Десериализовать яваскриптовые даты в json даже сам яваскрипт не умеет. Пруф:

> (new Date()).toJSON()
"2015-10-28T19:47:21.644Z"
> JSON.stringify({"aaa":"bbb","ccc":"ddd"})
"{"aaa":"bbb","ccc":"ddd"}"
> JSON.parse(JSON.stringify({"aaa":"bbb","ccc":"ddd"}))
Object {aaa: "bbb", ccc: "ddd"}
> JSON.parse((new Date()).toJSON())
(program):1 Uncaught SyntaxError: Unexpected number(…)(anonymous function) @ VM3368:2InjectedScript._evaluateOn @ VM3101:904InjectedScript._evaluateAndWrap @ VM3101:837InjectedScript.evaluate @ VM3101:693

Только 4 типа поддерживаются на 100% во всех языках и реализациях.
{"this_is_map":{"this_is_string":"aaa","this_is_int":123,"this_is_array":[1,2,3]}}

так как как-то так вышло что array это тоже object

Разве что в js.

drull ★☆☆☆
()
Последнее исправление: drull (всего исправлений: 1)
Ответ на: комментарий от uin

Что за хрень? Выше уже сказали про ISO-8601

Даже по твоей ссылке сказано о нём.

Kilte ★★★★★
()
Последнее исправление: Kilte (всего исправлений: 1)
Ответ на: комментарий от drull

Json уже давно перестал быть чисто яваскриптовым форматом.

Про чисто явоскриптовый формат я вообще ничего не говорил, это ты только что придумал, я только сказал что он собой представляет.

Пруф:
JSON.parse((new Date()).toJSON())

По ручкам себе настучи за такие пруфы.
Ты понимаешь что пытаешься строку "2015-10-28T19:47:21.644Z" превратить в

2015 - 10 - 28 T 19 : 47 : 21.644 Z
? Вот так сделай: JSON.stringify(new Date()) и посмотри что будет

Только 4 типа поддерживаются на 100% во всех языках и реализациях.
int

Это отдельный тип? Значит тогда типов пять.

Разве что в js.

Ну в общем да.

Kilte

Даже по твоей ссылке сказано о нём.

Ок

uin ★★★
()
Ответ на: комментарий от uin

int

Это отдельный тип? Значит тогда типов пять.

Как бы да.

Пхп:
drull@drull:~$ echo "<?php var_dump(json_decode(json_encode(["int" => 111,"str" => "aaa"])));"|php
class stdClass#1 (2) {
  public $int =>
  int(111)
  public $str =>
  string(3) "aaa"
}
Яваскрипт:
> JSON.parse('{"str":"111","int":222}')
Object {str: "111", int: 222}

Про bool и null совсем забыл, да. Они тоже поддерживаются во всех реализациях.

По ручкам себе настучи за такие пруфы.

Ок, подловил :) А теперь вернемся к той фигне которую ты написал и с которой мы начали. Объясни мне с каких это пор Date стал _типом_ яваскрипта? Это класс, реализующий метод toJSON, причем реализующий криво. _Тип_ экземпляра этого класса - object. То что Date::toJSON выдает какую-то хрень в малораспространенном формате, не дает право этому формату называться «JSON Date Format», формат даты в json не определен. Вот тебе еще одна реализация, но совершенно другая:

drull@drull:~$ echo "<?php var_dump(json_encode(new DateTime));"|php
string(72) "{"date":"2015-10-28 21:24:14.000000","timezone_type":3,"timezone":"UTC"}"
Реализаций json-сериализации объектов, представляющих дату может быть хоть сколько угодно, но ни одна из них не является стандартом json.

drull ★☆☆☆
()
Последнее исправление: drull (всего исправлений: 6)
Ответ на: комментарий от drull

Как бы да.

То есть fp - это отдельный тип? В JS есть только один тип - number для int fp и ВНЕЗАПНО NaN (которое дословно означает Not a Number), и еще вроде Infinity (бесконечность), так же еще вроде шестнадцатеричные числа поддерживаются, хотя меня сейчас прибегут обоссать сосишники и плюсовики потому что хоть в 128-и ричном исчислении - один хрен они целочисленные.

Про bool и null совсем забыл, да. Они тоже поддерживаются во всех реализациях.

Ах да, еще же булиан, null в js является объектом, неопределенный тип - это undefined

А теперь вернемся к той фигне которую ты написал и с которой мы начали. Объясни мне с каких это пор Date стал _типом_ яваскрипта? Это класс, реализующий метод toJSON, причем реализующий криво. _Тип_ экземпляра этого класса - object.

Это не класс это высокоуровневая функция которая возвращает объект Date.
Я назвал его так потому что нигде раньше с этим форматом не встречался, он не содержит пробелов запятых и по нему сразу понятно что это дата, в отличии от например числа в виде милисекунд или массивов.

То что Date::toJSON выдает какую-то хрень в малораспространенном формате, не дает право этому формату называться «JSON Date Format», формат даты в json не определен.

В json вообще ничего кроме синтаксиса не определено.

uin ★★★
()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от uin

Джаваскриптеры совсем поехали, если что-то используется в их язычке, то всё, это Javascript/JSON-формат!

Вы хоть из своего мирка вылезайте иногда. ISO-8601 ещё до создания вашего JavaScript активно юзался.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от uin

Я назвал его так потому что нигде раньше с этим форматом не встречался

Не только ты. Яваскриптеры видимо все такие. http://www.w3schools.com/jsref/jsref_tojson.asp («JSON date»). По крайней мере составители w3schools уж точно.

В json вообще ничего кроме синтаксиса не определено.

Фуф, наконец-то.

Ах да, еще же булиан, null в js является объектом, неопределенный тип - это undefined

Да пофиг на js. В json null - не объект, и array - не объект. Что тебя так на яваскрипте заклинило?

drull ★☆☆☆
()
Последнее исправление: drull (всего исправлений: 5)
Ответ на: комментарий от drull

В json null - не объект, и array - не объект. Что тебя так на яваскрипте заклинило?

Ок в json это просто строки которые каждый парсит как хочет.

fp?

Вещественные числа же, int - целые 1, 2, 3 fp - вещественные 1.0, 2.0, 3.0

uin ★★★
()
Ответ на: комментарий от uin

да, туплю, вещественные - не отдельный тип в джейсоне.

drull ★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.