Google Sheets to PRESENT an ISO8601 string as localized date?

In Google Sheets, is there a way to have a cell display its value as a localized date (and time) but actually still have and accept its value as an ISO8601 date string?

The use case is that I have data exported from a database that has ISO8601 timestamps (as strings in a .CSV file) and I’d like them to show up as readable dates and times while still making it possible to just paste more exported timestamp data later in those cells.

I’ve searched for a solution and have found other questions about formatting dates (e.g.
“Convert columns of ISO 8601 strings to dates in Google Sheets” and
“How can I change Google Spreadsheets to have iso 8601 dates as default?”) but they’re asking for different things.

I’m not looking for a way to parse an ISO date string to a readable string in another cell etc. but a way to present an underlying date in a localized way, hopefully preserving that presentation format when a new date string is pasted into the cell later.

I know one option could be to have this exported CSV data on a different sheet and collect it from there to another “presentation” sheet in a nice, localized way but I’m not 100% sure it’d work, and I’d like to avoid that to keep things simpler anyway if possible.

Based on what I’ve found so far this may not be possible in Sheets at all but I’d love to be wrong.

Order InnerBlocks in custom Gutenberg block by date attribute

I have the following custom Timeline block:

const {
    blocks: { registerBlockType },
    blockEditor: { InnerBlocks },
    element: { createElement: el },
} = (window as any).wp;

export default registerBlockType("my/timeline", {
    title: "Timeline",
    edit({ className }) {
        return (
            <div className={className}>
                <InnerBlocks allowedBlocks={("my/timeline-item")} />
            </div>
        );
    },
    save() {
        return <InnerBlocks.Content />;
    },
});

That block contains custom Timeline Item blocks:

const {
    blocks: { registerBlockType },
    blockEditor: { InspectorControls, InnerBlocks },
    element: { createElement: el },
    components: { PanelBody, DateTimePicker },
} = (window as any).wp;

const dateFormat = new Intl.DateTimeFormat("en-US", {
    month: "short",
    day: "numeric",
    hour: "numeric",
    minute: "numeric",
    hour12: false,
});

export default registerBlockType("my/timeline-item", {
    title: "Timeline Item",
    parent: "my/timeline",
    attributes: {
        date: {
            type: "date",
        },
    },
    edit({ attributes: { date }, setAttributes, className }) {
        let dateText = "No date selected";
        let dateClass = "wp-block-oblik-timeline-item__date";

        if (date) {
            dateText = dateFormat.format(new Date(date));
        } else {
            dateClass += " is-invalid";
        }

        return (
            <div className={className}>
                <InspectorControls>
                    <PanelBody>
                        <DateTimePicker
                            currentDate={date}
                            onChange={(date) => setAttributes({ date })}
                        />
                    </PanelBody>
                </InspectorControls>

                <div>
                    <span className={dateClass}>{dateText}</span>
                    <InnerBlocks />
                </div>
            </div>
        );
    },
    save() {
        return <InnerBlocks.Content />;
    },
});

Currently, timeline item blocks are ordered manually. I want them to be ordered by their date attribute – from latest to oldest. Is there a way to do that?

If custom order is not possible, is it an option to automatically add new blocks to the beginning of the list? Otherwise, you always have to manually move them to the top.

SQL – Date Range Broken Down by Individual Month and Year while maintaining the ID

You can join against a date dimension table. I’ve included a sample Common Table Expression date dimension table – (my sample is for months instead of days).

--demo setup
CREATE TABLE #TEMP
(GRP_ID CHAR(8),
BILL_YR INT,
BEGIN_DT DATETIME,
END_DT DATETIME
)

INSERT INTO #TEMP
(GRP_ID, BILL_YR, BEGIN_DT, END_DT)
VALUES
('12345678','1','2019-01-01','2019-12-31'),
('12345678','2','2020-01-01','2020-12-31')

--common table expression date dimension
;with dates ((Date)) as (
    Select convert(date,'2019-01-01') as (Date) -- Put the start date here

    union all 

    Select dateadd(month, 1, (Date))
    from dates
    where (Date) <= '2020-12-31' -- Put the end date here 
)

select GRP_ID
    ,  BILL_YR
    ,  DATEPART(MONTH,(DATE)) as BEGIN_DT
    ,  DATEPART(YEAR,(DATE)) as END_DT
    from dates d
    join #temp t on d.Date >= t.BEGIN_DT
        and d.Date <= t.END_DT
option (maxrecursion 32767) -- Don't forget to use the maxrecursion option!

| GRP_ID   | BILL_YR | BEGIN_DT | END_DT |
|----------|---------|----------|--------|
| 12345678 | 1       | 1        | 2019   |
| 12345678 | 1       | 2        | 2019   |
| 12345678 | 1       | 3        | 2019   |
| 12345678 | 1       | 4        | 2019   |
| 12345678 | 1       | 5        | 2019   |
| 12345678 | 1       | 6        | 2019   |
| 12345678 | 1       | 7        | 2019   |
| 12345678 | 1       | 8        | 2019   |
| 12345678 | 1       | 9        | 2019   |
| 12345678 | 1       | 10       | 2019   |
| 12345678 | 1       | 11       | 2019   |
| 12345678 | 1       | 12       | 2019   |
| 12345678 | 2       | 1        | 2020   |
| 12345678 | 2       | 2        | 2020   |
| 12345678 | 2       | 3        | 2020   |
| 12345678 | 2       | 4        | 2020   |
| 12345678 | 2       | 5        | 2020   |
| 12345678 | 2       | 6        | 2020   |
| 12345678 | 2       | 7        | 2020   |
| 12345678 | 2       | 8        | 2020   |
| 12345678 | 2       | 9        | 2020   |
| 12345678 | 2       | 10       | 2020   |
| 12345678 | 2       | 11       | 2020   |
| 12345678 | 2       | 12       | 2020   |

sharepoint designer – Create Workflow Reminder 3 months, 2 months, 1 months befor due date

For doing this the simplest approach is to create a second workflow to the task list(where your list creates all its tasks). This secondary workflow which will run on the task list will run whenever a new item is created in the task list. We can pause it in accordance to the due date. That is :

Lets assume that your due date is kept as 4 months from the task creation, so

  1. First pause it for 1 month from the task creation date, you can( due data – 90 days) and then send a reminder mail.

  2. Then pause it for another 30 days (that happens to be now due data – 60 days), keeping a check if the task is yet not completed and then again send reminder mail.

  3. Finally pause it for another 30 days ( that happens to be now due data – 30 days ), keeping a check if the task is yet not completed and then again send reminder mail.

Build a similar logic for the secondary workflow which covers your needs.

You can follow this invaluable blog from Microsoft for reference.

Please mark the answer if it helps!

Como utilizo la clase Date en un constructor?

Estoy haciendo un control de inventarios en Java y quiero añadirle una fecha de caducidad usando la clase Date, cual es la mejor manera de implementarla? Estoy usando un ArrayList para añadir los productor al inventario.

kde – Changing the time and date on the old Kubuntu 8.10 distro

Have recently unboxed an old PC (Dell-GX1) which has Kubuntu 8.10 KDE 4.1.2 already installed on it. With plenty of free time on my hands thanks to my retirement, I’m trying to re-acquaint myself with that old distro, but just trying to adjust the time and date is giving me a headache. Would greatly appreciate advice from the forum members who may have used that particular Kubuntu many years ago.

Looking forward to being in touch more frequently. Thanks!

What is it called when you use a phrase to determine a date?

This is often referred to as “relative time“.

As you’ve seen, relative times are often used to describe a time that’s offset from the current time in instances where it might be easier for the user to process, more convenient, or not as important as the exact time.

Use caution when working with relative times, as they can sometimes be ambiguous. If I’m going to bed shortly after midnight, and I create a reminder for “take the trash out tomorrow morning”, I probably mean for that to happen in ~8 hours even though what I said wasn’t precisely correct. It’s important to provide visibility of the exact time that is calculated, so the user can verify that things were interpreted correctly. I’ve experienced modern voice assistants ask for clarification when I ask for something potentially ambiguous like that. I think that’d be appropriate here as well.

datetime – How do I modify the Scheduler date picker?

On the date picker for the Scheduler module, I would like to modify it. Specifically, I would like to make it so a content creator can set the time to be unpublished 120 days from now, rather than picking a date.

Any thoughts on how I could go about modifying Scheduler’s date picker?

Historic flight date from 2001

I am trying to find details of an Uzbekistan Airways flight from Tashkent to London on September 11th 2001. I believe it took off in the morning and landed in the afternoon but I need to know the flight number, departure and arrival times, type of plane, terminal it landed and whether it was delayed.
Do you know where I can find this information?
Thanks,
Toby

entities – how easy it is to get the date when the order is completed?

I need to get the due date (payment) of the last order, but I got some kind of crooked code.

I receive all user orders by request.

      $allOrders = Drupal::entityTypeManager()->getStorage('commerce_order')->loadByProperties(
    ('state' => 'completed',
      'uid' => $uid,
    ));

I cannot figure out why the following code is not working

$allOrders(111)->values("completed")("x-default")

The following code worked for me, I think it is wrong and unnecessary.

      $IndexAr = array_key_last($allOrders);
  $oneIndex = $allOrders($IndexAr);
  $AllValues = $oneIndex->toArray();
  $DataTime = $AllValues("completed")(0)("value");

Here is the data structure:
enter image description here