关于javascript:以当前用户时间作为文件名下载

Download With Current User Time As Filename

简而言之

如何使文件名在下载时包含用户的本地时间?例子:

1
Click here

  • 我知道我可以用PHP给它提供服务器的本地时间,如下所述:如何用PHP获取当前日期和时间?
  • 我知道我可以用javascript将用户的本地时间打印到屏幕上,如下所述:如何以hh:mm:ss格式以javascript显示当前时间?

以用户的名义下载该怎么办?

使用php,我知道我可以在文件名中输入一个变量,如下所示:

PHP:

1
2
date_default_timezone_set('America/New_York');
$current_date = date('Y-F-j-h-i-s');

HTML:

1
.pdf">Click here

或者,使用javascript,我可以在链接中(或屏幕上的任何地方)打印用户的本地时间。

如何获取用户的本地时间作为下载属性的值?

我乐于使用PHP、JS、JQuery等。


您可以使用onclick属性最简单地做到这一点。

1
Click here

或者,如果要使用jquery:

在HTML中(添加一个ID以便我们可以选择):

1
Click here

在JS中:

1
2
3
$("#download").click(function() {
    this.download= 'pizza-' + getFormattedTime() + '.pdf'
}

现在,当用户单击链接时,下载名称将立即更改为当前时间。

下面是一个如何获得时间的示例(主要基于此答案):

1
2
3
4
5
6
7
8
9
10
11
function getFormattedTime() {
    var today = new Date();
    var y = today.getFullYear();
    // JavaScript months are 0-based.
    var m = today.getMonth() + 1;
    var d = today.getDate();
    var h = today.getHours();
    var mi = today.getMinutes();
    var s = today.getSeconds();
    return y +"-" + m +"-" + d +"-" + h +"-" + mi +"-" + s;
}