JavaScriptで「無効な日付」の日付インスタンスを検出する

1605
orip 2009-08-31 01:34.

JSの有効な日付オブジェクトと無効な日付オブジェクトの違いを教えたいのですが、方法がわかりませんでした。

var d = new Date("foo");
console.log(d.toString()); // shows 'Invalid Date'
console.log(typeof d); // shows 'object'
console.log(d instanceof Date); // shows 'true'

isValidDate関数を書くためのアイデアはありますか?

  • Date.parse日付文字列の解析にはAshをお勧めします。これにより、日付文字列が有効かどうかを信頼できる方法で確認できます。
  • 可能であれば、APIにDateインスタンスを受け入れさせ、それが有効かどうかをチェック/アサートできるようにすることをお勧めします。Borgarのソリューションはそれを行いますが、ブラウザー間でテストする必要があります。もっとエレガントな方法があるのだろうかと思います。
  • Ashは、APIにDateインスタンスをまったく受け入れさせないことを検討させました。これは、検証するのが最も簡単です。
  • Borgarは、Dateインスタンスをテストしてから、Dateの時間値をテストすることを提案しました。日付が無効な場合、時間の値はNaNです。ECMA-262で確認したところ、この動作は標準に準拠しており、まさに私が探しているものです。

30 answers

1417
Borgar 2009-08-31 01:48.

これが私がそれをする方法です:

if (Object.prototype.toString.call(d) === "[object Date]") {
  // it is a date
  if (isNaN(d.getTime())) {  // d.valueOf() could also work
    // date is not valid
  } else {
    // date is valid
  }
} else {
  // not a date
}

更新[2018-05-31]:他のJSコンテキスト(外部ウィンドウ、フレーム、またはiframe)からのDateオブジェクトに関心がない場合は、次の単純な形式が推奨される場合があります。

function isValidDate(d) {
  return d instanceof Date && !isNaN(d);
}
279
Ash 2009-08-31 01:47.

使用new Date()する代わりに、以下を使用する必要があります。

var timestamp = Date.parse('foo');

if (isNaN(timestamp) == false) {
  var d = new Date(timestamp);
}

Date.parse()1970年1月1日からのミリ秒数を表す整数であるタイムスタンプを返します。NaN指定された日付文字列を解析できない場合に返されます。

114
Christoph 2009-08-31 04:07.

あなたはの妥当性をチェックすることができますDateオブジェクトをd介して、

d instanceof Date && isFinite(d)

クロスフレームの問題を回避するために、instanceofチェックを次のように置き換えることができます

Object.prototype.toString.call(d) === '[object Date]'

Borgarの答えのようにgetTime()asを呼び出す必要はなく、両方とも暗黙的に数値に変換されます。isNaN()isFinite()

88
Ash Clarke 2012-09-12 05:03.

私の解決策は、有効な日付オブジェクトを取得したかどうかを確認することです。

実装

Date.prototype.isValid = function () {
    // An invalid date object returns NaN for getTime() and NaN is the only
    // object not strictly equal to itself.
    return this.getTime() === this.getTime();
};  

使用法

var d = new Date("lol");

console.log(d.isValid()); // false

d = new Date("2012/09/11");

console.log(d.isValid()); // true
76
abhirathore2006 2016-07-05 00:10.

有効日を確認するための最短の回答

if(!isNaN(date.getTime()))
49
Yves M. 2013-10-15 10:18.

あなたは単にmoment.jsを使うことができます

次に例を示します。

var m = moment('2015-11-32', 'YYYY-MM-DD');
m.isValid(); // false

ドキュメントの検証セクションは非常に明確です。

また、次の解析フラグは無効な日付になります。

  • overflow:13か月、32日(うるう年以外の場合は2月29日)、367日などの日付フィールドのオーバーフロー。オーバーフローには、無効なユニットのインデックスが含まれます。 #invalidAtと一致する(以下を参照)。-1はオーバーフローがないことを意味します。
  • invalidMonth:moment( 'Marbruary'、 'MMMM');などの無効な月名。無効な月の文字列自体が含まれているか、nullが含まれています。
  • empty:moment( 'this is nonsense');など、解析可能なものを何も含まない入力文字列。ブール値。
  • 等。

ソース: http://momentjs.com/docs/

38
Matt Campbell 2013-02-16 09:30.

jQuery UI DatePickerウィジェットには、形式と有効性をチェックする非常に優れた日付バリデーターユーティリティメソッドがあります(たとえば、2013年1月33日の日付は許可されていません)。

ページのdatepickerウィジェットをUI要素として使用したくない場合でも、いつでもその.jsライブラリをページに追加してからvalidatorメソッドを呼び出し、検証する値をページに渡すことができます。作業をさらに簡単にするために、JavaScriptのDateオブジェクトではなく、文字列を入力として受け取ります。

見る: http://api.jqueryui.com/datepicker/

メソッドとしてはリストされていませんが、ユーティリティ関数としてあります。ページで「parsedate」を検索すると、次のことがわかります。

$ .datepicker.parseDate(format、value、settings)-指定された形式の文字列値から日付を抽出します。

使用例:

var stringval = '01/03/2012';
var testdate;

try {
  testdate = $.datepicker.parseDate('mm/dd/yy', stringval);
             // Notice 'yy' indicates a 4-digit year value
} catch (e)
{
 alert(stringval + ' is not valid.  Format must be MM/DD/YYYY ' +
       'and the date value must be valid for the calendar.';
}

(日付形式の指定に関する詳細は、次のURLにあります。 http://api.jqueryui.com/datepicker/#utility-parseDate)。

上記の例では、「2012年1月3日」は指定された形式のカレンダーで有効な日付であるため、アラートメッセージは表示されません。ただし、たとえば「stringval」を「13/04/2013」と等しくすると、値「13/04/2013」はcalendar-validではないため、アラートメッセージが表示されます。

渡された文字列値が正常に解析された場合、「testdate」の値は、渡された文字列値を表すJavascriptDateオブジェクトになります。そうでなければ、それは未定義になります。

27
broox 2010-11-24 09:47.

私はクリストフのアプローチが本当に好きでした(しかし、それを投票するのに十分な評判がありませんでした)。私の使用では、常にDateオブジェクトがあることがわかっているので、valid()メソッドを使用して日付を拡張しました。

Date.prototype.valid = function() {
  return isFinite(this);
}

今、私はこれを書くことができ、コードでisFiniteをチェックするよりもはるかに説明的です...

d = new Date(userDate);
if (d.valid()) { /* do stuff */ }
26
faridz 2011-07-07 11:27.
// check whether date is valid
var t = new Date('2011-07-07T11:20:00.000+00:00x');
valid = !isNaN(t.valueOf());
18
Yuseferi 2012-05-15 09:39.

このスクリプトを使用して、txDate.valueの有効な形式を確認できます。間違った形式の場合、日付オブジェクトはインスタンス化されず、dtにnullを返します。

 var dt = new Date(txtDate.value)
 if (isNaN(dt))

そして@MiFが短い方法で提案したように

 if(isNaN(new Date(...)))
16
Jingguo Yao 2011-10-27 23:55.

次のコードを使用して、年、月、日付の値を検証します。

function createDate(year, month, _date) {
  var d = new Date(year, month, _date);
  if (d.getFullYear() != year 
    || d.getMonth() != month
    || d.getDate() != _date) {
    throw "invalid date";
  }
  return d;
}

詳細については、JavaScriptで日付を確認するを参照してください。

15
Jason Foglia 2018-11-07 19:47.

この小さなスニペットに本当に近い答えをいくつか見てきました。

JavaScriptの方法:

function isValidDate(dateObject){
    return new Date(dateObject).toString() !== 'Invalid Date';
}
console.log(isValidDate('WTH')); // -> false
console.log(isValidDate(new Date('WTH'))); // -> false
console.log(isValidDate(new Date())); // -> true

ES2015の方法:

const isValidDate = dateObject => new Date(dateObject )
    .toString() !== 'Invalid Date';
console.log(isValidDate('WTH')); // -> false
console.log(isValidDate(new Date('WTH'))); // -> false
console.log(isValidDate(new Date())); // -> true

更新:コメントを反映するため。

12
Sebastien H. 2017-05-11 23:17.

ここではすでに複雑な答えが多すぎますが、単純な行で十分です(ES5):

Date.prototype.isValid = function (d) { return !isNaN(Date.parse(d)) } ;

またはES6でも:

Date.prototype.isValid = d => !isNaN(Date.parse(d));
10
user1296274 2014-01-06 16:36.

これは私のために働いた

new Date('foo') == 'Invalid Date'; //is true

しかし、これはうまくいきませんでした

new Date('foo') === 'Invalid Date'; //is false
9
Dmytro Shevchenko 2011-05-04 06:44.

いい解決策!補助関数のライブラリに含まれているので、次のようになります。

Object.isDate = function(obj) {
/// <summary>
/// Determines if the passed object is an instance of Date.
/// </summary>
/// <param name="obj">The object to test.</param>

    return Object.prototype.toString.call(obj) === '[object Date]';
}

Object.isValidDate = function(obj) {
/// <summary>
/// Determines if the passed object is a Date object, containing an actual date.
/// </summary>
/// <param name="obj">The object to test.</param>

    return Object.isDate(obj) && !isNaN(obj.getTime());
}
9
Nick Taras 2015-09-18 14:27.

Angular.jsプロジェクトの場合、以下を使用できます。

angular.isDate(myDate);
6
Dex 2012-09-09 23:25.

2012年2月31日などの日付を検証しようとすると、これらの回答はどれも私には機能しませんでした(Safari 6.0でテスト済み)。

だから私は少し力ずくでした。日付がの形式であると仮定しますmm/dd/yyyy。私は@brooxの答えを使用しています:

Date.prototype.valid = function() {
    return isFinite(this);
}    

function validStringDate(value){
    var d = new Date(value);
    return d.valid() && value.split('/')[0] == (d.getMonth()+1);
}

validStringDate("2/29/2012"); // true (leap year)
validStringDate("2/29/2013"); // false
validStringDate("2/30/2012"); // false
5
Michael Goldshmidt 2012-09-15 08:52.
IsValidDate: function(date) {
        var regex = /\d{1,2}\/\d{1,2}\/\d{4}/;
        if (!regex.test(date)) return false;
        var day = Number(date.split("/")[1]);
        date = new Date(date);
        if (date && date.getDate() != day) return false;
        return true;
}
4
Raz 2011-08-19 04:48.

Borgarのアプローチに触発されて、コードが日付を検証するだけでなく、実際に日付が実際の日付であることを確認しました。つまり、2011年9月31日や2011年2月29日のような日付は許可されません。

function(dateStr) {
    s = dateStr.split('/');
    d = new Date(+s[2], s[1]-1, +s[0]);
    if (Object.prototype.toString.call(d) === "[object Date]") {
        if (!isNaN(d.getTime()) && d.getDate() == s[0] && 
            d.getMonth() == (s[1] - 1)) {
            return true;
        }
    }
    return "Invalid date!";
}
4
Yaseen 2014-02-26 01:22.

私はこの関数を書きました。文字列パラメータを渡すと、この形式「dd / MM / yyyy」に基づいて有効な日付かどうかが判断されます。

ここにテストがあります

入力:「ははは」、出力:false。

入力: "29/2/2000"、出力:true。

入力: "29/2/2001"、出力:false。

function isValidDate(str) {
    var parts = str.split('/');
    if (parts.length < 3)
        return false;
    else {
        var day = parseInt(parts[0]);
        var month = parseInt(parts[1]);
        var year = parseInt(parts[2]);
        if (isNaN(day) || isNaN(month) || isNaN(year)) {
            return false;
        }
        if (day < 1 || year < 1)
            return false;
        if(month>12||month<1)
            return false;
        if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && day > 31)
            return false;
        if ((month == 4 || month == 6 || month == 9 || month == 11 ) && day > 30)
            return false;
        if (month == 2) {
            if (((year % 4) == 0 && (year % 100) != 0) || ((year % 400) == 0 && (year % 100) == 0)) {
                if (day > 29)
                    return false;
            } else {
                if (day > 28)
                    return false;
            }      
        }
        return true;
    }
}
4
saaj 2018-07-16 09:40.

Date.prototype.toISOStringRangeError無効な日付に(少なくともChromiumとFirefoxで)スローします。検証の手段として使用できisValidDate、そのように必要としない場合があります(EAFP)。それ以外の場合は:

function isValidDate(d)
{
  try
  {
    d.toISOString();
    return true;
  }
  catch(ex)
  {
    return false;    
  }    
}
4
John 2012-08-31 20:25.

上記の解決策はどれも私にはうまくいきませんでしたが、うまくいきました

function validDate (d) {
    var date = new Date(d);
    var day = "" + date.getDate();
    if ( day.length == 1 ) day = "0" + day;
    var month = "" + (date.getMonth() + 1);
    if ( month.length == 1 ) month = "0" + month;
    var year = "" + date.getFullYear();
    return (( month + "/" + day + "/" + year ) == d );
}

上記のコードは、JSが2012年2月31日を2012年3月2日に作成したときに無効であることを確認します。

3
zVictor 2014-07-26 00:00.

そのチェックの周りで見つけた最高のパフォーマンス結果を組み合わせて、特定のオブジェクトがあるかどうかを確認しました。

  • はDateインスタンスです(ベンチマークはこちら)
  • 有効な日付があります(ベンチマークはこちら)

結果は次のとおりです。

function isValidDate(input) {
  if(!(input && input.getTimezoneOffset && input.setUTCFullYear))
    return false;

  var time = input.getTime();
  return time === time;
};
2
kam 2013-08-13 10:28.

文字列への日付オブジェクトは、両方のフィールドが有効な日付であるかどうかを検出するためのより簡単で信頼性の高い方法です。例:この「-------」を日付入力フィールドに入力した場合。上記の回答の一部は機能しません。

jQuery.validator.addMethod("greaterThan", 

    function(value, element, params) {
        var startDate = new Date($(params).val());
        var endDate = new Date(value);

        if(startDate.toString() === 'Invalid Date' || endDate.toString() === 'Invalid Date') {
            return false;
        } else {
            return endDate > startDate;
        }
    },'Must be greater than {0}.');
2
Denis Ryzhkov 2013-11-09 02:49.

日付のint1ベースのコンポーネントの場合:

var is_valid_date = function(year, month, day) {
    var d = new Date(year, month - 1, day);
    return d.getFullYear() === year && (d.getMonth() + 1) === month && d.getDate() === day
};

テスト:

    is_valid_date(2013, 02, 28)
&&  is_valid_date(2016, 02, 29)
&& !is_valid_date(2013, 02, 29)
&& !is_valid_date(0000, 00, 00)
&& !is_valid_date(2013, 14, 01)
2
dolphus333 2014-06-19 08:14.

選ばれた答えは素晴らしく、私も使っています。ただし、ユーザーの日付入力を検証する方法を探している場合は、Dateオブジェクトが、無効な構築引数のように見えるものを有効なものにすることについて非常に永続的であることに注意する必要があります。次の単体テストコードは、ポイントを示しています。

QUnit.test( "valid date test", function( assert ) {
  //The following are counter-examples showing how the Date object will 
  //wrangle several 'bad' dates into a valid date anyway
  assert.equal(isValidDate(new Date(1980, 12, 15)), true);
  d = new Date();
  d.setFullYear(1980);
  d.setMonth(1);
  d.setDate(33);
  assert.equal(isValidDate(d), true);
  assert.equal(isValidDate(new Date(1980, 100, 150)), true);
  //If you go to this exterme, then the checker will fail
  assert.equal(isValidDate(new Date("This is junk")), false);
  //This is a valid date string
  assert.equal(isValidDate(new Date("November 17, 1989")), true);
  //but is this?
  assert.equal(isValidDate(new Date("November 35, 1989")), false);  
  //Ha!  It's not.  So, the secret to working with this version of 
  //isValidDate is to pass in dates as text strings... Hooboy
  //alert(d.toString());
});
2
kiranvj 2015-08-23 17:50.
function isValidDate(strDate) {
    var myDateStr= new Date(strDate);
    if( ! isNaN ( myDateStr.getMonth() ) ) {
       return true;
    }
    return false;
}

このように呼んでください

isValidDate(""2015/5/2""); // => true
isValidDate(""2015/5/2a""); // => false
2
Zon 2017-03-21 06:55.

最高評価の回答に基づく準備完了機能:

  /**
   * Check if date exists and is valid.
   *
   * @param {String} dateString Date in YYYY-mm-dd format.
   */
  function isValidDate(dateString) {
  var isValid = false;
  var date;

  date =
    new Date(
      dateString);

  if (
    Object.prototype.toString.call(
      date) === "[object Date]") {

    if (isNaN(date.getTime())) {

      // Date is unreal.

    } else {
      // Date is real if month and day match each other in date and string (otherwise may be shifted):
      isValid =
        date.getUTCMonth() + 1 === dateString.split("-")[1] * 1 &&
        date.getUTCDate() === dateString.split("-")[2] * 1;
    }
  } else {
    // It's not a date.
  }

  return isValid;
}
2
Soubriquet 2019-06-20 06:57.

シンプルでエレガントなソリューション:

const date = new Date(`${year}-${month}-${day} 00:00`)
const isValidDate = (Boolean(+date) && date.getDate() == day)

出典:

[1] https://medium.com/@esganzerla/simple-date-validation-with-javascript-caea0f71883c

[2] JavaScriptの新しいDate()に表示される日付が正しくありません

2
Stefan Rein 2020-05-26 05:26.

まだ誰もそれについて言及していないので、Symbolsも行く方法です:

Symbol.for(new Date("Peter")) === Symbol.for("Invalid Date") // true

Symbol.for(new Date()) === Symbol.for("Invalid Date") // false

console.log('Symbol.for(new Date("Peter")) === Symbol.for("Invalid Date")', Symbol.for(new Date("Peter")) === Symbol.for("Invalid Date")) // true

console.log('Symbol.for(new Date()) === Symbol.for("Invalid Date")', Symbol.for(new Date()) === Symbol.for("Invalid Date")) // false

次の点に注意してください。 https://caniuse.com/#search=Symbol

Related questions

MORE COOL STUFF

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは、夫に会ったとき、典型的な交際のアドバイスに逆らいました。

マイケルシーンが非営利の俳優である理由

マイケルシーンが非営利の俳優である理由

マイケルシーンは非営利の俳優ですが、それは正確にはどういう意味ですか?

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

特徴的なスターのコリン・エッグレスフィールドは、RomaDrama Liveでのスリル満点のファンとの出会いについて料理しました!加えて、大会での彼のINSPIREプログラム。

「たどりつけば」をオンラインでストリーミングできない理由

「たどりつけば」をオンラインでストリーミングできない理由

ノーザンエクスポージャーが90年代の最も人気のある番組の1つになった理由を確認するには、Blu-rayまたはDVDプレーヤーをほこりで払う必要があります。

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖は、世界で2番目に大きいボイリング湖です。そこにたどり着くまでのトレッキングは大変で長いですが、努力する価値は十分にあります。

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

サロンからのヘアトリミングや個人的な寄付は、油流出を吸収して環境を保護するのに役立つマットとして再利用できます。

ホワイトハウスの最も記憶に残る結婚式を見てください

ホワイトハウスの最も記憶に残る結婚式を見てください

過去200年以上の間にホワイトハウスで結婚したのはほんの数人です。彼らは誰でしたか、そしてそこで結婚式を獲得するために何が必要ですか?

この太陽に優しいショルダーバッグで一日中外出してください

この太陽に優しいショルダーバッグで一日中外出してください

画像クレジット:Richard Mackney / Flickrトラベリングライトは必需品だけを運ぶことを意味するかもしれませんが、デバイスを補充する方法がない外出先では、接続を維持するのが難しくなる可能性があります。それはあなたがすべての生き物の快適さやクールなガジェットを捨てる必要があるという意味ではありません、ただあなたがいくつかのより小さなものを手に入れる必要があるということです、そしておそらくあなた自身をジュースに保つためにいくつかの、例えば非正統的な充電装置を使うでしょう。

ミッドセンチュリーリゾートのポストカードが廃墟に変わるのを見る

ミッドセンチュリーリゾートのポストカードが廃墟に変わるのを見る

ニューヨーク州スプリンググレンにある放棄されたホモワックロッジのボーリング場。キャッツキル南部のこの地域は、ニューヨーク市からのユダヤ人の行楽客に人気があることから、かつてはボルシチベルトとして知られていました。

ブルックリンスレートの美しいボードをあなたのテーブルに座らせましょう

ブルックリンスレートの美しいボードをあなたのテーブルに座らせましょう

ブルックリンスレートブルックリンスレートのマグカップとコースターの賞賛をすでに歌っており、それらの食器製品も同様に堅実です。ブルックリンスレートは、さまざまなサイズとテクスチャのスレートの完全な採石場を販売しています。一部のオプションは赤でも利用できます。上で見ることができるように、彼らは同様にカスタマイズをします。

遺伝子分析により、私たちの体内に生息する微生物の99%がカタログ化されていないことが明らかになりました

遺伝子分析により、私たちの体内に生息する微生物の99%がカタログ化されていないことが明らかになりました

画像:Juan Gaertner / Shutterstock私たちの体の内部は、私たちの細胞とは何の関係もない何十億もの微生物が住んでいる本物の生態系です。これがまだ少し気になることではなかったかのように、これらの微生物の99%が研究されたことがないことがわかりました。

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya shared a sweet photo in honor of boyfriend Tom Holland's 26th birthday Wednesday

小さな女性:脳卒中を患った後に病院から解放されたアトランタのジューシーな赤ちゃん:「まだ癒し」

小さな女性:脳卒中を患った後に病院から解放されたアトランタのジューシーな赤ちゃん:「まだ癒し」

シーレン「Ms.JuicyBaby」ピアソンは、先月脳卒中で入院した後、「もう一度たくさんのことをする方法を学ばなければならない」ため、言語療法を受けていることを明らかにしました。

エマストーンは彼女のクリフサイドマリブビーチハウスを420万ドルでリストアップしています—中を見てください!

エマストーンは彼女のクリフサイドマリブビーチハウスを420万ドルでリストアップしています—中を見てください!

オスカー受賞者の世紀半ばの家には、3つのベッドルーム、2つのバス、オーシャンフロントの景色があります。

ジーニー・メイ・ジェンキンスは、母乳育児の経験の中で、彼女は「本当に、本当に落ち込んでいる」と言います

ジーニー・メイ・ジェンキンスは、母乳育児の経験の中で、彼女は「本当に、本当に落ち込んでいる」と言います

ジーニー・メイ・ジェンキンスは、生後4か月の娘、モナコに母乳育児をしていると語った。

投資ノート:Bioscout AU$300万シード

投資ノート:Bioscout AU$300万シード

Bioscoutは、農家を運転席に置くという使命を負っています。Artesian(GrainInnovate)やUniseedと並んで、最新のシードラウンドでチームを支援できることをうれしく思います。問題真菌症による重大な作物の損失は、農民にとって試練であることが証明されています。

リトルマーケットリサーチ1| 2022年のクイックグリンプス遠隔医療市場

リトルマーケットリサーチ1| 2022年のクイックグリンプス遠隔医療市場

遠隔医療は、パンデミック後の時代では新しいものではなく、時代遅れの分野でもありません。しかし、業界を詳しく見ると、需要と供給の強力な持続可能性と、米国で絶え間ない革命となる強力な潜在的成長曲線を示しています。

スタートアップ資金調達環境:タイのスタートアップエコシステムの次は何ですか?

スタートアップ資金調達環境:タイのスタートアップエコシステムの次は何ですか?

2021年は、世界的なベンチャーキャピタル(VC)の資金調達にとって記録的な年でした。DealStreetAsiaによると、東南アジアも例外ではなく、この地域では年間で記録的な25の新しいユニコーンが採掘されました。

ムーアの法則を超えて

ムーアの法則を超えて

計算に対する私たちの欲求とムーアの法則が提供できるものとの間には、指数関数的に増大するギャップがあります。私たちの文明は計算に基づいています—建築と想像力の現在の限界を超える技術を見つけなければなりません。

Language