sc (スプレッドシート計算機) で、列を でフォーマットしました<f 12 0 3>
が、そのセルに有効な日付を挿入できませんでした。 数字<\^D15/12/31>
( または、最初の の有無にかかわらず、他の同様の表記法) を^D
入力すると、日付の差を計算できない文字列のみが表示されます。 誰かヒントをいただけませんか?
答え1
関数を使用して日付を挿入できます。@dts
たとえば、=@dts(15,12,31)
。必要に応じて、エポックからの秒数に変換され、差を計算できます。たとえば、セルA1
にこの値があり、セルA2
に 1 日前の がある場合=@dts(15,12,30)
、B1
を に設定すると、 、つまり秒単位の差が=A1-A2
表示されます。86400.00
この時間差を使って通常の計算以外何もできないと思います。^D
表示形式を変更するには、(control-D) を使用します。たとえば、セルF^D%T
上で whileと入力するB1
と、次のように表示されます。時間:分:秒 01:00:00
(については man strftime を参照%T
)、これは依然として「エポックからの秒数」であるため、適切な秒数で割る以外に、たとえば週数に変換することはできません。
答え2
回答の補足として、日付と時刻の両方を入力し、入力内容を期待どおりにフォーマットすることが可能です。
セル情報、(書式コード) [2 つの数式]:
B18 (^D%m/%d/%y %H:%M:%S) [@dts(2022,5,4)+@tts(8,30,45)]
方法:
- 日時を入力するセルを選択
- プレスe
@dts(2022,5,4)+@tts(8,30,45)
そしてEnter- プレスF
"^D%m/%d/%y %H:%M:%S"
そしてEnter- を押しf、l適切な幅になるまで(小文字のL)を繰り返し押し、Enter
書式文字列に不可欠なのは、実際にCtrl+を押してDからコードを入力することです。使用可能なコードについては、「man date」を参照してください。数式は で始まり@
、 は@dts(y,m,d)
日付を変換し、@tts(H,M,S)
は時間を変換します。どちらもエポックからの秒数に変換し、実際の日付と時刻を追加できます。
man sc
また、と も便利です。sc
を押す?とヘルプ メニューが表示され、 キーを使用するとメニューまたはサブメニューの任意の場所aに移動したり、を終了してスプレッドシートに戻ったりできます。pq
これは優れたシェル スプレッドシート ユーティリティです。ローンの償却などを含む多くの組み込み式を備えています。