Typescript: يضيف إنشاء تاريخ جديد من تاريخ السلسلة 21 ثانية للنتيجة

تم إنشاؤها على ٥ يوليو ٢٠١٩  ·  4تعليقات  ·  مصدر: microsoft/TypeScript


إصدار TypeScript: 3.5.2


شروط البحث: 3.5.2 date 21 seconds new Date () new Date string greenwich France

الشفرة

يؤدي إنشاء تواريخ جديدة (قبل أو يساوي 10 مارس 1911) من تواريخ تنسيق السلسلة إلى إضافة 21 ثانية إلى التاريخ الناتج.


var firstDate = new Date("1900-01-01T00:00:00.000Z").toString()
// Mon Jan 01 1900 00:09:21 GMT+0009 (Central European Standard Time)

var secondDate = new Date(firstDate).toString()
// Mon Jan 01 1900 00:09:42 GMT+0009 (Central European Standard Time)

var thirdDate = new Date(secondDate).toString()
// Mon Jan 01 1900 00:10:03 GMT+0009 (Central European Standard Time)

سلوك متوقع:
يجب أن يعود الإثنين 01 يناير 1900 00:09:21 GMT + 0009 (توقيت وسط أوروبا القياسي)

السلوك الفعلي:
يضيف 21 ثانية في كل مرة يتم فيها استدعاء التاريخ (سلسلة) جديدة.

رابط الملعب:

القضايا ذات الصلة:

Question

التعليق الأكثر فائدة

\

@ j-oliveras كل هذا يتوقف على خيارات المترجم لديك:

temporalAnomaly

<\ / سخرية>

ال 4 كومينتر

كيف يكون هذا خطأ في الكتابة المطبوعة عندما يكون هذا في وقت التشغيل؟

بعد ذلك ، يكون toString منخفضًا. باستخدام Node (10.15.3) و Firefox (67.0.4) وحدة تحكم devtools و Chrome (75) devtools ، يعمل هذا كما هو متوقع (تعليقات من إخراج العقدة):

var firstDate = new Date("1900-01-01T00:00:00.000Z").toString()
// Mon Jan 01 1900 01:00:00 GMT+0100 (GMT+01:00)

var secondDate = new Date(firstDate).toString()
// Mon Jan 01 1900 01:00:00 GMT+0100 (GMT+01:00)

var thirdDate = new Date(secondDate).toString()
// Mon Jan 01 1900 01:00:00 GMT+0100 (GMT+01:00)

\

@ j-oliveras كل هذا يتوقف على خيارات المترجم لديك:

temporalAnomaly

<\ / سخرية>

بكل جدية ، @ ruslan-volkov ، هذه المشكلة لا تتعلق بالمترجم TypeScript. طالما أن المترجم ينتج كود إخراج JavaScript الصحيح ، وهو ما يفعله ، فلا حرج في TypeScript.

قد يكون ما تراه خطأ في محرك وقت تشغيل JavaScript معين (أو ربما محركات متعددة) ، من المحتمل أن يكون له علاقة بحساب التواريخ قبل عام 1911 في فرنسا عندما كانت الدولة قبل توقيت غرينتش بـ 9 دقائق و 21 ثانية . لكن لا علاقة له بـ TypeScript.

لست متأكدًا أيضًا مما إذا كان أي شخص في عالم وقت تشغيل JS سيهتم كثيرًا بهذا الأمر ، نظرًا لجميع المشكلات المتعلقة بإنشاء كائنات Date بالطريقة التي تقوم بها:

ملاحظة: لا يُنصح بتحليل سلاسل التاريخ باستخدام المُنشئ Date ... نظرًا لاختلافات المستعرض وأوجه عدم الاتساق.

حظا طيبا وفقك الله!

شكرا لإجاباتك ووقتك يا سيئ!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات