2024.06.28 Kyoto.js #22 の登壇資料です https://kyotojs.connpass.com/event/321343/
こんにちは。サービス開発室の武田です。 AWSを利用しているとさまざまなところで「日付時刻データ」を目にします。AWSの各サービスで提供されている日付時刻データは次のいずれかのフォーマットです。 ISO 8601 UNIX時間 ISO 8601は日付・時刻を表記するための国際規格です。日付 T 時刻 タイムゾーンが並べられた文字列です。基本形式と拡張形式が定義されていますが、AWSでは拡張形式が一般的かと思われます。 基本形式: 20240627T000000Z 拡張形式: 2024-06-27T00:00:00Z 末尾のZはタイムゾーンでZはUTCを表します。日本時間の場合は+09:00などが代わりに付きます。 ISO 8601は文字列による表現でしたが、UNIX時間は数値による表現です。UNIX時間はエポック秒とも呼ばれ、 UTCでの 1970年1月1日午前0時0分0秒 からの経過秒数
はじめに 本来はあまり発生するような話ではないので、読み物としてお楽しみいただければと思います。 ある日の会社でのできごと 後輩 「UTCからJSTに変換する際に、冬場に該当する月(12月~3月)だと正しく変換できない。JavaのDate().getTimezoneOffset()を使っている。なんでDateだとうまくいかないのかは不明!」 我 「(今時、java.util.Date使ってることなんてあるのかな…いにしえのコードなのか?はたまた海の外から納品されたレアなパターン踏んじゃったのかな...) 理由があることをきちんと説明しないといけない!(謎の使命感)」 日付の取り扱い(歴史) Java8以前の話 日付を表すのに、java.util.Date 、計算するために、java.util.Calendar を使っていました。 java.util.Date Java 日付 でググると先頭
[Agents for Amazon Bedrock] 「次の金曜日に飲み会を登録して」〜今日が何日か知らないLLMに、自然な日付指定でカレンダー登録してみました 1 はじめに CX事業本部製造ビジネステクノロジー部の平内(SIN)です。 Agents for Amazon Bedrockでは、アクションとしてLambdaが利用できるため、簡単に外部サービスにアクセスすることが出来ます。このため、外部のカレンダーサービス等への登録をエージェントへの依頼として実装することも可能です。 LLMで自然な言語でやり取りできるメリットを考えると、日付指定で、2024-07-01みたいな、定型を要求するよりも、「明日」とか「来週の水曜日」みたいな、指定ができると良いなと思い作ってみました。 今回作成した、エージェントが動作している様子をご確認ください。 「明日」とか、「来月の第1日曜日」のような、自然
今回はLaravelに関して書いていきます。 「Laravelに関して」と書きましたが、厳密に言うとLaravelに組み込まれている日付操作ライブラリ「Carbon」の内容がメインです。 Carbonを使って1週間分の日付を取得してみます。 日付と一緒に曜日(日本語)も取得します。 それでは本題へ。 実行環境 プログラム プログラム実行 参考リンク プログラム(別案) おわりに 関連記事 実行環境 実行環境は、 PHP 8.2.12 Laravel Framework 11.10.0 nesbot/carbon 3.5.0 です。 プログラム プログラムはこんな感じです。 $carbon = new Carbon('2024-06-01'); // 1週間分をループ for ($i = 0; $i < 7; $i++) { // データ出力 echo $carbon->isoFormat(
「B2」セルに日付に合わせて「月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日」の表示形式で曜日が入力される。TEXT関数の「"dddd"」の部分を「"ddd"」にすれば、曜日の表示形式が「月、火、水、木、金、土、日」に変更できる。また「"(ddd)"」のように「()」で囲うと「(月)」、「{}」で囲うと「{月}」といった形式でも表示可能だ。 曜日を英語表記にしたい場合は、[ファイル]-[設定]を選択し、表示された「このスプレッドシートの設定」ウィンドウの[全般]タブにある「言語と地域」で[アメリカ合衆国]に選択してから、TEXT関数で曜日に変換すればよい。既に入力済みのTEXT関数の結果は、「言語と地域」を変更しても影響を受けないが、編集すると「言語と地域」に合わせて表記が変わってしまうので注意してほしい。 ExcelのTEXT関数では、「"dddd"」と「"ddd"」で英語表記の
ウクライナとイスラエルでの戦火はもちろん、世界各地で軍事的緊張が高まる中、インドの占星術師がすぐにでも第三次世界大戦の火蓋が切って落とされると予言している。その日とは、なんと明後日6月18日だ――。 ■6月18日に第三次世界大戦勃発か!? 占星術師にして大予言者であったノストラダムスだが、インドのノストラダムスにして“新ノストラダムス”と呼ばれているのがヴェーダ占星術師で予言者のクシャル・クマール氏だ。 ヒンドゥー教の教えに基づくヴェーダ占星術で惑星と恒星の配置を観察しているクマール氏は先月、イスラエルとハマス、韓国と北朝鮮、中国と台湾、ロシアとNATOの間で軍事的緊張が高まると予言したことを英紙「Daily Star」が報じている。 そして今回、同紙はクマール氏がこの占星術を使って第三次世界大戦が始まる正確な日付を予言したことを報じている。クマール氏は世界を終わらせる戦争は6月18日に起
datetimeモジュールのdatetimeクラスやdateクラスのweekday/isoweekday/strftimeメソッド、calendarモジュールのweekday関数を使って日付から曜日を取得する方法を紹介する。 from datetime import datetime, date day = date(2024, 6, 18) # 2024年6月18日 # weekayメソッドは月曜日を0として、日曜日を6として返す dow = day.weekday() # day of the week print(dow) # 1 # 曜日名に変換する day_name = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] print(day_name[dow]) #
日付のキーを持つ配列をその日付順でソートしたいときがあります。その場合、array_multisortを利用しますが、array_columnとarray_mapを併用できるととても便利です。 ソートするサンプル配列コード 以下の配列をdateキーの値(日付)の降順にソートしてみます。 Array ( [0] => Array ( [id] => 1 [date] => 2022-01-01 [contents] => id01の内容 ) [1] => Array ( [id] => 2 [date] => 2022-04-01 [contents] => id02の内容 ) [2] => Array ( [id] => 3 [date] => 2022-02-01 [contents] => id03の内容 ) [3] => Array ( [id] => 4 [date] => 202
Linuxには日付や日時を取得・確認するときに便利な「date」コマンドが用意されています。 ここでは「date」コマンドについて以下の内容で解説していきます。 この記事では「date」コマンドについてわかりやすく解説してますので、ぜひ使い方を覚えておきましょう! dateコマンドとは 「date」コマンドは現在の日時を取得することができるコマンドです。 Linuxで運用するプログラムにおいて、日付を取得して処理を分岐するような処理はよく使われます。 「date」コマンドで現在の日付と時刻を表示する方法は簡単です。 $ date 実行結果: このようにdateと入力するだけで簡単に現在の日付と日時が表示されます。 またdateコマンドでは、さまざまな便利なオプションがあります。 たとえば、 現在から数日後、数日前の日付を取得 協定世界時(UTC)の時刻を取得 Linuxの日付・時刻を設定
日付処理、面倒ですよね。 どんなサービス・システムを開発する時にも必要だけど扱うのが難しいデータ型が日付型だと思っています。 そんな日付型のデータを楽に扱えるライブラリがどの言語にも存在しているわけですが、JavaScriptではdate-fnsやday.jsなどが有名です。私はdate-fns派です。 普段サービス開発している中でよく使うdate-fnsのメソッドをいくつかご紹介します。 date-fnsでよく使うメソッド1|日付から文字列へのフォーマット日付型のデータを画面に表示する時、文字列型に変換しつつ適切なフォーマットにできるメソッドがformat()です。 以下のように第一引数に日付型のデータ、第二引数にフォーマットを指定します。 import format from 'date-fns/format' const now = new Date() const date = f
Googleスプレッドシートで、経過してしまった日付、つまり今日より前の日付が入っているセルに色を付ける方法についてです。 今日より前の日付が入っている行に色を付ける方法も併せて紹介します。 今日より前の日付のセルに色を付ける方法 今日より前の日付の行に色を付ける方法 今日より前の日付のセルに色を付ける方法 次の表ではB列に日付が記録されています。そのうち今日の日付より前の日付が入っているセルに色を付けるものとします。 まずは色付けの対象となる範囲(B3:B9)を選択します。 その状態でメニューから「表示形式」→「条件付き書式」と選択します。 ウインドウの右側に設定用の領域(ペイン)が出現します。 ここでプルダウンから「次より前の日付」という項目を選択します。もう1つプルダウンが現れますが、デフォルトで「本日」となるのでこれはそのままとします。 そしてその下の「書式設定のスタイル」のエリア
固定式および可変式の日付フィールドの挿入 現在の日付を表示するフィールドを挿入する際には、ファイルを開くごとに日付を更新させるか、更新させないかを指定できます。 メニュー 挿入 - フィールド - 他のフィールド を選択して、ドキュメント タブをクリックします。 フィールドタイプの「日付」をクリックし、次のうちどれかを実行します: 日付をドキュメントを開いた時刻に更新するフィールドとして挿入するには、選択リストで「日付」をクリックします。 日付を更新しないフィールドとして挿入するには、選択リストで「日付(固定)」をクリックします。
PHPとSQLiteで運営サイトのPV数等を記録する仕組みを作っていたのですが、データ容量が肥大化したので設計を見直してみたお話。自分用の備忘録みたいなものです。 本当にGoogle Analyticsは必要なのか アクセス解析といえばGoogle Analyticsですよね。いまや誰でもGoogleアカウントを持っている時代、法人はもちろんのこと、個人でサイト運営するにも普段使っているGoogleアカウントからサクっとGoogle Analyticsの登録をしてタグを貼り付ければ、あっという間に運営サイトのアクセス解析が開始できます。 これはこれで素晴らしいのですけれど、運営するサイトが増えてくるとGoogle Analyticsって使いづらくないですか? ぼくが使いこなせていないだけの可能性は高いのですがw 運営サイトが20を超えはじめたくらいから、各サイトを切り替えつつアクセス解析を
「1週間後の年月日時分秒」を表示 ・time関数で取得したタイムスタンプに、1週間後の秒数を加算して、1週間後のタイムスタンプを作成して、$timestampへ格納 ・date関数にフォーマット用記号「'Y年m月d日 H時i分s秒'」と$timestampを指定して実行すると、$next_weekに1週間後の日付を取得できる time関数 ・UNIXのタイムスタンプを取得(秒) date関数 ・UNIXタイムスタンプを日付に戻す ・UNIXタイムスタンプから、日付(文字列)を取得可能 $timestamp = time() + ( 60 * 60 * 24 ) * 7;//time関数で取得したタイムスタンプに、1週間後の秒数を加算して、1週間後のタイムスタンプを作成して、$timestampへ格納 $next_week = date('Y年m月d日 H時i分s秒', $timestamp
当サイトは Google Adsense、Amazon アソシエイト等 アフィリエイト広告を利用して収益を得ています. Google の天気アプリ(Google Weather)の小さなアップデートとして、10日間の天気予報で日付が表示されるようになりました。 これまでの Google 天気アプリの10日間天気予報では、今日という表示から◯曜日という曜日のみが表示されていました。これでも特に困ることはありませんが、週をまたぐ場合や日付で確認したい場合には少し不便はありました。 今回、9to5Google の報告によって Google 天気の予報部分で日付が表示されるようになったことに気づき、この変更は Google アプリ 12.25 で展開されていたようです。 昨年のアップデート以降、Google 天気アプリには大きな変更点はありませんが、こうした地味なアップデートは行われているようです
webエンジニアの風速です。 今回はAmazon Athenaを業務内で使用して日付でパーティションの射影をするのに苦労したので、そちらをまとめられたらと思います。 Amazon Athenaとは Amazon Athenaは、SQLを使用してS3内のデータを直接分析に利用できたりするクエリサービスです。サーバーレスで、読み込んだ容量に応じて課金されるシステムになっています。データ1TBあたり5.00USDらしい(ap-northeast-1) S3内のcsvなどのデータを読み込んで実際のrdbのテーブルのように操作可能です。 パーティションとは パーティションという機能はAthena以外にもrdbの機能にあるもので(調べて初めて知った)、テーブル内のデータを格納する場所を分けられる機能です。 Athenaでは読み込むデータによって課金されるため、デイリーとかで動かす場合はかなり重要で、公
メイン コンテンツにスキップ false 検索検索をクリア検索を終了Google アプリメインメニュー
実務では非常によく遭遇するパターンなのですが有名どころの日付ライブラリに実装されていない(たぶん)機能として、次の〇日、毎月〇日というのがあります。 例えば、こんなことをしたいときに使う機能です。 カレンダーを翌月に切り替えたい 毎月15日をサブスクの決済日にしたい 翌月末までの予定を自動作成したい 月を変えながらスクレイピングしたい こういった処理は、その場で考えて実装するとミスに陥りがちです。決済日が1日ずれたとか、毎月のはずが1ヶ月すっぽかしたとか。 しっかり考えたうえで、Dateオブジェクト、date-fns、Day.jsで処理する方法をまとめてみました。 なぜ難しいのか この処理がなぜ難しいのか、整理してみます。 ひと月の日数が月よって異なるから 主な理由は簡単でひと月の日数が月によって異なるからです。2月なんかはうるう年も影響してきます。 『次の30日の日付を取得する関数』を作
作成した表のセルの範囲を選択してツールリボンの[挿入]タブの[ピボットテーブル]をクリックします。 下図のドロップダウンメニューが表示されます。[テーブルまたは範囲から]の項目をクリックします。 [テーブルまたは範囲からのピボットテーブル]ダイアログが表示されます。[テーブル/範囲]には選択した表の範囲が設定されています。 [ピボットテーブルをハイツする場所を選択してください]の設定は[新規ワークシート]のラジオボタンを選択します。 ダイアログの[OK]ボタンをクリックします。 新しいシートが作成され、ピボットテーブルが配置されました。 ウィンドウ右側の[ピボットテーブルのフィールド]のエリアの上部のリストの[発売日]の項目をドラッグして、[行]のエリアにドロップします。 ドロップすると[行]のエリアに"販売日"の項目が追加され、ピボットテーブルの左側の列に日付が表示されます。 続いて、ウ
Templaterのテンプレート# テンプレート使用月の日付を出力するTemplater1のテンプレートです。 <%* const day = new moment(tp.date.now()).startOf('month') const end = day.clone().add(day.daysInMonth(), 'days') for (; day.diff(end, 'days') < 0; day.add(1, 'days')) { %> <% day.format("YYYY-MM-DD") %> <%* } %> 定数 day: 出力する日付を扱います(2024年2月の場合:2024-02-01 00:00:00) 初期化時にstartOfを使用して、テンプレートを作成した日時の月初情報を取得しています 定数 end: 来月の月初情報を扱います(2024年2月の場合:20
スクリプティングを使ってみたくて題材探してみようと思ったがこのケースならSQL組み合わせるだけで良かった SQL WITH # 歯抜けサンプルデータの用意 sample_data AS( SELECT * FROM UNNEST(ARRAY<STRUCT<d DATE, item STRING, sales INT64>> [ ("2020-10-04", "hoge", 100), ("2020-10-19", "fuga", 50), ("2020-10-25", "hoge", 80) ]) ), # 連続した日付データの用意 dates AS ( SELECT d FROM UNNEST(GENERATE_DATE_ARRAY('2020-10-01','2020-10-31', INTERVAL 1 DAY)) AS d) SELECT dates.d, IFNULL(sampl
Androidスマートフォンを使い始めてもう4年になる。ガラケー時代からすでに,腕時計をしなくなり,さらにスマホになって「時間」を見る方法に悩んでいた。2年前には,首掛け100円ストップウォッチが快適 - jeyseni's diary (hatenablog.com) 2021/11/20 と,小型のストップウォッチをネックストラップで首からかけたり,ナースウォッチを改良して,ワイシャツのボタンに引っ掛ける方法を試して,それなりの効果を上げていたが,いずれもボタン電池を交換する必要があり,電池切れで止まったところでそのままお蔵入りになっている。 その後,スマホを使う頻度は高まり,時刻を確認するのもそれほど苦痛に感じなくなっていた。ところが,今度は日付をうまく見る方法がないことに気づいた。 1つは、筆者が老眼で、小さい文字を読めなくなっていることが原因である。若い人が、スマホで1mmほどの
前説 どのシステムにおいても、日付チェックは必ず存在する機能でしょう。早速、PHPで日付チェックを行う方法を紹介したいと思います。 日付の形式チェック PHPで日付チェックを行う方法は主に2つのステップに分けています。 まずは日付の形式チェックです。日付の形式チェックとは「YYYY-MM-DD」や「YYYY/MM/DD」などのフォーマットチェックことことです。 方法はいろいろがありますが、正規表現を使ってチェックしたほうが良いかと思います。 if(!preg_match('/^[1-9]{1}[0-9]{0,3}\/[0-9]{1,2}\/[0-9]{1,2}$/', $date)){ return false; }
はじめに wordpress は date_default_timezone_set でタイムゾーンを設定すると wordpress の CRON 処理が9時間ズレてしまう。date_default_timezone_set を設定せずに date 関数を使うとこれも9時間ズレてしまう。 その対処法として date_i18n や current_time を使うと良いとされているが、その挙動を確認したのでメモしておく。 検証 $array = [ "date" => date("Y-m-d H:i:s"), "date_i18n" => date_i18n("Y-m-d H:i:s"), "current_time" => current_time("Y-m-d H:i:s"), "date time" => date("Y-m-d H:i:s", time()), "date_i18n
タスクバーの右側に表示される「時刻と日付」は、表示/非表示に設定変更することが可能です。 また、表示時刻に「秒」単位や「曜日」表示を追加することもできます。 操作手順は、以下のリンクをご確認ください。 「時刻と日付」を表示/非表示にする 表示時刻に「秒」を追加する 表示時刻に「曜日」を追加する 「時刻と日付」を表示/非表示にする [設定]画面を表示します。 ▼関連Q&A: [Windows 11] 「設定」画面を表示する方法 画面左側のメニューの中から[時刻と言語]をクリックし、画面右側に表示された項目の[日付と時刻]を選択します。 [日付と時刻]画面が表示されるので、[システム トレイに時刻と日付を表示する]の項目を変更します。 ※今回は非表示に設定しますので、「丸の表示を左側へスライド」(黒色)にします。 時刻と日付が非表示になりました。 以上で操作は完了です。
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く