js里的Date()支持啥样的日期格式吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js里的Date()支持啥样的日期格式吗?相关的知识,希望对你有一定的参考价值。

参考技术A javascript中,Date()返回的是当前系统的日期和时间。追问

给这个方法传的参数是什么样的形式?

追答

Date()没有参数

追问

你仔细查查,这个是可以传参的,只不过不个非必需参数。

追答

JavaScript Date 对象参考手册,你自己看看吧

追问

那你又说没有参数,我是不确定他到底能给几种参数形式?

追答

本就没有参数!

参考技术B Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
Date 对象会自动把当前日期和时间保存为其初始值。
参数形式有以下5种:
new Date("month dd,yyyy hh:mm:ss");
new Date("month dd,yyyy");
new Date(yyyy,mth,dd,hh,mm,ss);
new Date(yyyy,mth,dd);
new Date(ms);
注意最后一种形式,参数表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。各种函数的含义如下:
month:用英文表示月份名称,从January到December
mth:用整数表示月份,从(1月)到11(12月)
dd:表示一个月中的第几天,从1到31
yyyy:四位数表示的年份
hh:小时数,从0(午夜)到23(晚11点)
mm:分钟数,从0到59的整数
ss:秒数,从0到59的整数
ms:毫秒数,为大于等于0的整数
如:
new Date("January 12,2006 22:19:35");
new Date("January 12,2006");
new Date(2006,0,12,22,19,35);
new Date(2006,0,12);
new Date(1137075575000);
参考技术C 好像没有参数

PHP:长格式的双重赋值是啥样的?

【中文标题】PHP:长格式的双重赋值是啥样的?【英文标题】:PHP: what does a double assignment look like in longform?PHP:长格式的双重赋值是什么样的? 【发布时间】:2016-03-06 06:11:23 【问题描述】:

我什至不知道如何谷歌这个。如何将这个 PHP 语句写成长格式?

$recentlyViewed = $products = $this->getRecentlyViewedProducts();

这样的优化让专家觉得很聪明,而初学者觉得很愚蠢。我很确定我明白结果是什么,但也许我错了。

A:这等价吗?

$products = $this->getRecentlyViewedProducts();
$recentlyViewed = ($products) ? true : false;

B:这是等价的吗?

$products = $this->getRecentlyViewedProducts();
$recentlyViewed = $products;

哪个是对的?

通过 Twitter,似乎 B 是等价的。

公共服务公告

编写非常简单的代码。别傻了。

【问题讨论】:

$products = $this->getRecentlyViewedProducts(); $recentlyViewed = $products; 如果你想分配$this->getRecentlyViewedProducts(),如果它不为空,你可以这样做:$recentlyViewed = $this->getRecentlyViewedProducts() ? : 'other_value'; 这里省略第二个参数意味着如果它评估为真,将分配第一个。否则,将分配“other_value”。请记住,只有当方法返回空数组或 null/false/0/empty 字符串(如果最近没有查看)时它才会起作用。如果它返回,例如即使它实际上是空的,它也会评估为 true 的集合对象。 【参考方案1】:
$recentlyViewed = $products = $this->getRecentlyViewedProducts();

还有

$products = $this->getRecentlyViewedProducts();
$recentlyViewed = ($products) ? true : false;

我认为这是等价的:

不,它不等同。

让我们看看区别

$recentlyViewed = $products = range(1,10);

所以如果你print_r 那么值就是

print_r($recentlyViewed);
print_r($products);

这将打印来自[1,2,3,....10] 的两个数组,但是

$products = range(1,10);
$recentlyViewed = ($products) ? true : false;

因此,如果您打印$products$recentlyViewed,则结果将是第一个将打印array,另一个将打印1

那么什么相当于

$recentlyViewed = $products = $this->getRecentlyViewedProducts();

将会

$products = $this->getRecentlyViewedProducts();
$recentlyViewed = $products;

Demo

【讨论】:

【参考方案2】:

等价的就是这个

$products = $this->getRecent();
$recentlyViewed = $products;

我不确定对 $products 的测试是否有意义,因为双重赋值不会返回布尔值。

在这里查看原始类型和对象之间的区别。Are multiple variable assignments done by value or reference?

【讨论】:

你对双重分配是正确的。这让初学者感到困惑,因为通常会看到非显式三元组,例如: $x = $y === 1;这比明确的东西更难理解: $x = ($y === 1) ?真假;因此,我对上述内容的混淆以及不识别赋值的行为与比较运算符不同。 首先 PHP 中没有“三元”复数 :) 据我所知,只有一个三元运算符,即简写 if,之所以称为三元,是因为它需要 3 个操作数,条件和两个结果,一个用于true,一个用于false【参考方案3】:

当你写作时:

$recentlyViewed = $products = $this->getRecentlyViewedProducts();

PHP 所做的是从右手乞求并将最右边的值分配给左侧变量(如果有的话)。该值可以是 const 值(即字符串或数字)、另一个变量或函数的返回值(在这种情况下为$this->getRecentlyViewedProducts())。所以这里是步骤:

计算($this->getRecentlyViewedProducts()in this case)的返回值 将计算值分配给$products$product 分配给$recentlyViewed

因此,如果我们假设您的 getRecentlyViewedProducts 函数返回“Hello Brendan!”,那么在执行结束时,$products$recentlyViewed 将具有相同的值。

在 PHP 中,变量类型是隐式的,因此您可以直接在 if 语句中使用它们,如下所示:

if($recentlyViewed) ...

在这种情况下,如果设置了 $recentlyViewed 并且其值 $recentlyViewed0falsenull 以外的任何值,则您的 if 条件将满足。 在 PHP 中使用非布尔值作为检查条件是很常见的,无论如何如果您使用 $recentlyViewed 作为标志,为了代码可读性和内存优化,最好这样做(注意如果您的函数返回例如一个大字符串,将其值复制到单独的变量中以将其用作标志不是明智的选择):

$recentlyViewed = $products ? true : false;

$recentlyViewed = $products ? 1 : 0;

虽然结果不会不同。

【讨论】:

以上是关于js里的Date()支持啥样的日期格式吗?的主要内容,如果未能解决你的问题,请参考以下文章

vue项目里的日期格式化

vue项目里的日期格式化

vue项目里的日期格式化

vue项目里的日期格式化

vue项目里的日期格式化

vue项目里的日期格式化